Как мне отключить кнопку в диалоговом окне jQuery UI . Я не могу найти это в какой-либо документации по ссылке выше.
У меня 2 кнопки на модальном подтверждении («Подтвердить» и «Отмена»). В некоторых случаях я хочу отключить кнопку «Подтвердить».
Как мне отключить кнопку в диалоговом окне jQuery UI . Я не могу найти это в какой-либо документации по ссылке выше.
У меня 2 кнопки на модальном подтверждении («Подтвердить» и «Отмена»). В некоторых случаях я хочу отключить кнопку «Подтвердить».
.button()
плагина, поэтому они больше не обязательно являются лучшими / самыми чистыми решениями.Ответы:
Если вы включаете
.button()
плагин / виджет, который содержит пользовательский интерфейс jQuery (если у вас есть полная библиотека и вы используете 1.8+, вы можете использовать ее, чтобы отключить кнопку и визуально обновить состояние, например, так:Вы можете попробовать его здесь ... или, если вы используете более старую версию или не используете виджет кнопки, вы можете отключить его следующим образом:
Если вы хотите это внутри определенного диалога, скажем, по идентификатору, то сделайте это:
В других случаях, когда вы
:contains()
можете получить ложные срабатывания, вы можете использовать.filter()
это так, но это излишне, так как вы знаете свои две кнопки. Если это так в других ситуациях, это будет выглядеть так:Это предотвратит
:contains()
сопоставление подстроки чего-то еще.источник
$("#dialogID").nextAll(".ui-dialog-buttonpane").find("button:contains('Confirm')").attr("disabled", true).addClass("ui-state-disabled");
$(".ui-dialog-buttonpane button:contains('Confirm')").button("disable");
хотя, если вы хотите отключить кнопку от функции, которая у вас есть для нее, вы должны добавить этот диалог в виджет и отключить кнопку после этого; как это$(this).dialog("widget").find(".ui-dialog-buttonpane button:contains('Confirm')").button("disable");
Похоже, кто-то, даже в этом связанном вопросе , предложил это решение, подобное первой части ответа, данного Ником Крейвером:
Затем в другом месте вы сможете использовать API для кнопки пользовательского интерфейса jquery:
источник
{text:"ok",disabled:true,click: function(){}}
$("#dialog").dialog("widget").find(".button-ok-class").button("enable")
Вы также можете использовать
недокументированныйdisabled
атрибут:Чтобы включить после открытия диалога, используйте:
JsFiddle: http://jsfiddle.net/xvt96e1p/4/
источник
attr: { 'data-value' : 'some value here' }
если хотите добавить атрибутdata-value
к кнопке.disabled
атрибут должен быть назначен при создании кнопок.Следующее работает изнутри функции нажатия кнопок:
источник
Кнопка определяется классом
ui-button
. Чтобы отключить кнопку:Если вы динамически не создаете диалог (что возможно), вы будете знать положение кнопки. Итак, чтобы отключить первую кнопку:
ui-state-disabled
Класс , что дает кнопку, хорошее затемненному стиль.источник
Я создал функцию jQuery, чтобы облегчить эту задачу. Вероятно, теперь есть лучшее решение ... в любом случае, вот мои 2cents. :)
Просто добавьте это в ваш файл JS:
Отключить кнопку «ОК» в диалоге с классом «диалог»:
Включить все кнопки:
Включите кнопку «Закрыть» и измените цвет:
Текст на всех кнопках красный:
Надеюсь это поможет :)
источник
источник
Вы можете перезаписать массив кнопок и оставить только те, которые вам нужны.
источник
этот код отключает кнопку с помощью YOUR_BUTTON_LABEL. Вы можете заменить имя в содержит (). отключить
замените YOUR_BUTTON_LABEL на ярлык вашей кнопки. включить
источник
Вы можете сделать это, чтобы отключить первую кнопку, например:
источник
То, как я это делаю
Cancel: function(e) { $(e.target).attr( "disabled","disabled" ); }
Это самый короткий и простой способ, который я нашел.
источник
Если вы используете нокаут, то это даже чище. Представьте, что у вас есть следующее:
Волшебство исходит из источника пользовательского интерфейса jQuery :
Вы можете вызвать ЛЮБУЮ функцию экземпляра jQuery, передав ее через объект кнопки.
Например, если вы хотите использовать HTML:
Или, если вы хотите добавить класс к кнопке (вы можете сделать это несколькими способами):
Может быть, вы с ума сошли и хотите убрать кнопку из домена, когда она зависла:
Я действительно удивлен, что никто, кажется, не упомянул это в бесчисленном количестве тем, как это ...
источник
Это сработало для меня -
источник
Вы можете отключить кнопку при создании диалога:
Или вы можете отключить его в любое время после создания диалога:
источник