Jquery 多用户界面对话框:禁用按钮影响其他对话框
我的页面有多个对话框。我为它定义了单独的div部分。根据要求,我必须禁用对话框中的“保存”按钮,直到未填充所有必需字段。我可以禁用它。当我打开其他对话框时,问题出现了。“保存”按钮也将禁用这些对话框 我可以在我不想这样做的对话框上放置脚本以启用按钮。我有其他解决这个问题的方法吗 Mypage.cshtmlJquery 多用户界面对话框:禁用按钮影响其他对话框,jquery,jquery-ui-dialog,Jquery,Jquery Ui Dialog,我的页面有多个对话框。我为它定义了单独的div部分。根据要求,我必须禁用对话框中的“保存”按钮,直到未填充所有必需字段。我可以禁用它。当我打开其他对话框时,问题出现了。“保存”按钮也将禁用这些对话框 我可以在我不想这样做的对话框上放置脚本以启用按钮。我有其他解决这个问题的方法吗 Mypage.cshtml <div id="MyDialg" title="Dialog 1"> </div> <input id="btnMy" type="button" value
<div id="MyDialg" title="Dialog 1">
</div>
<input id="btnMy" type="button" value="Dialog1" />
Am在加载时使用下线禁用对话框上的“保存”按钮:
\u MyDialog.cshtml
$(".ui-dialog-buttonpane button:contains('Save')").button("enable");
源代码(对话框html之一)
MyDialg标题
说明:*
取消保存
您可以使用对话框ID
作为起点,以特定按钮为目标。因为我认为您上面代码中的内容是特定于要启用/禁用按钮的对话框的。您可以使用以下代码查找特定的“保存”按钮,该按钮不会影响其他对话框
$('#MyDialg').find('button:contains("Save")').button('disable');
$('#MyDialg').find('button:contains("Save")').button('enable');
编辑:
有两种方法可以做到这一点。您可以使用以下命令遍历当前结构以找到它
$('#MyDialg').closest('div.ui-dialog').find('span.ui-button-text:contains("Save")').closest('.ui-button').button('disable');
或者你可以给你的按钮一个id
buttons: {
"Cancel": function () { $(this).dialog("close"); },
"Save": {
text: 'Save', // <-- text to show
id: 'test', // <-- this sets the id to TEST
click: function () {
// code here
}
}
显示您的一些HTML。。你的对话之间有什么独特的区别吗?我不明白你在说什么。我怎样把它们分开?示例我有5个div,其中包含不同的单击事件以打开5个对话框。
$('#MyDialg').closest('div.ui-dialog').find('span.ui-button-text:contains("Save")').closest('.ui-button').button('disable');
buttons: {
"Cancel": function () { $(this).dialog("close"); },
"Save": {
text: 'Save', // <-- text to show
id: 'test', // <-- this sets the id to TEST
click: function () {
// code here
}
}
$('#test').button('disable');