Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 多用户界面对话框:禁用按钮影响其他对话框_Jquery_Jquery Ui Dialog - Fatal编程技术网

Jquery 多用户界面对话框:禁用按钮影响其他对话框

Jquery 多用户界面对话框:禁用按钮影响其他对话框,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部分。根据要求,我必须禁用对话框中的“保存”按钮,直到未填充所有必需字段。我可以禁用它。当我打开其他对话框时,问题出现了。“保存”按钮也将禁用这些对话框

我可以在我不想这样做的对话框上放置脚本以启用按钮。我有其他解决这个问题的方法吗

Mypage.cshtml

<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');
编辑:

有两种方法可以做到这一点。您可以使用以下命令遍历当前结构以找到它

  • 从对话框id开始
  • 找到主对话框
  • 查找包含“保存”按钮文本的范围
  • 获取按钮容器并禁用它
  • 代码

    $('#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');