#jquery #button
#jquery #кнопка
Вопрос:
Спасибо всем за предыдущие справочные сообщения. Ну, я как бы работаю над этим кодом, и я застрял в этой точке, не уверен, как пройти через это. Надеюсь, вы сможете помочь.
Вот проблема, у меня есть диалоговое окно, которое открывается с некоторыми текстовыми полями в нем, и в конце есть 2 кнопки OK и Cancel, что я хочу сделать, это проверить логическое значение для разрешений, если в случае его ложного, отключить кнопку OK, вот как кнопкиопределено,
dialogBox.dialog ({
modal:true,
width: 600,
height: 600,
buttons: {
OK : function () {
// Some code here
},
Cancel : function () {
// Some code here
}
}
// Some more code below but irrelevant to problem
});
Теперь мне нужно отключить кнопку OK с помощью jQuery, как я могу это сделать, пожалуйста, помогите
Заранее спасибо
Ответ №1:
Диалоговые кнопки, созданные пользовательским интерфейсом jQuery, расположены в <div>
элементе, который предоставляет ui-dialog-buttonpane
класс.
Поскольку ваша OK
кнопка является первой в наборе, вы можете использовать селектор :first, чтобы соответствовать ей:
dialogBox.dialog("widget")
.find(".ui-dialog-buttonpane button:first")
.prop("disabled", true);
Ответ №2:
Вы можете установить кнопки в виде массива (что позволяет установить атрибут disabled. А затем переустанавливайте массив кнопок каждый раз, когда изменяется логическое значение (если вы можете как-то его отслеживать).
dialogBox.dialog ({
modal:true,
width: 600,
height: 600,
buttons: [
{
text: "Ok",
disabled: "false",
click: function() { // Some code here }
},
{
text: "Cancel",
click: function() { // Some code here }
}
]
// Some more code below but irrelevant to problem
});
Затем, когда логическое значение изменяется на false, выполните:
$( "#dialogBox" ).dialog( "option", "buttons", [
{
text: "Ok",
disabled: "true",
click: function() { // Some code here }
},
{
text: "Cancel",
click: function() { // Some code here }
}
]
Надеюсь, это помогло.