如何从函数中禁用jQuery对话框中的按钮?
我有一个jQuery对话框,要求用户输入特定的信息。 在这个表格中,我有一个“继续”按钮。 我希望这个“继续”按钮只在所有字段中都有内容时才能启用,否则它将保持禁用状态。
我写了一个函数,每次字段状态改变时都会调用它。 但是,我不知道如何启用和禁用此功能的对话框按钮。 我该怎么办?
哎呀,我忘了提及这些按钮创建如下:
$(function() {
$("#dialog").dialog({
bgiframe: true,
height: 'auto',
width: 700,
show: 'clip',
hide: 'clip',
modal: true,
buttons: {
'Add to request list': function() {
$(this).dialog('close');
$('form').submit();
},
'Cancel': function() {
$(this).dialog('close');
}
}
})
});
你会想设置禁用的属性
$('#continueButton').attr("disabled", true);
更新 :Ahha,我现在看到了复杂性。 jQuery对话框有一行可用(在“按钮”部分下)。
var buttons = $('.selector').dialog('option', 'buttons');
您需要从对话框中获取按钮集合,循环查找您需要的按钮集合,然后设置如上所示的禁用属性。
这很简单:
$(":button:contains('Authenticate')").prop("disabled", true).addClass("ui-state-disabled");
你完成了一项简单的任务; 出于某种原因,jQueryUI对话框有两种设置按钮的方法。
如果您只需设置每个按钮的单击处理程序,请使用接受Object
参数的选项。 要禁用按钮并提供其他属性,请使用带有Array
参数的选项。
以下示例将禁用按钮,并通过应用所有jQueryUI CSS类和属性来正确更新其状态。
第1步-与创建对话框Array
按钮:
// Create a dialog with two buttons; "Done" and "Cancel".
$(".selector").dialog({ buttons: [
{
id: "done"
text: "Done",
click: function() { ... }
},
{
id: "cancel"
text: "Cancel",
click: function() { ... }
}
] });
第2步 - 创建对话框后启用/禁用完成按钮:
// Get the dialog buttons.
var dialogButtons = $( ".selector" ).dialog("option", "buttons");
// Find and disable the "Done" button.
$.each(buttons, function (buttonIndex, button) {
if (button.id === "done") {
button.disabled = true;
}
})
// Update the dialog buttons.
$(".selector").dialog("option", "buttons", dialogButtons);
链接地址: http://www.djcxy.com/p/96339.html
上一篇: How can I disable a button in a jQuery dialog from a function?
下一篇: Websocket getting upgrade but no frames from the client