jquery - 第二次单击确认框“确定”按钮时未显示对话框?

标签 jquery jquery-ui

我有一个名为“提交”的按钮,当我单击此按钮时,我会看到一个确认框。如果我单击确认框中的“确定”按钮,我会看到一个对话框。但是,如果我取消此对话框并尝试再次执行此操作,我将无法看到该对话框。

HTML 看起来像这样

        <input type="submit" id="btnSubmit" class="button" value="<%= OsflAdminResources.Text_Users_Permanently_Delete_Selected_Users %>"
            onclick="return validate();" />

jQuery 是:-

    function validate()
         {
               if(confirm("<%= OsflAdminResources.Text_Delete_Warning_Popup_Message %>"))
               {
                  dialog();
                  return false;
               }
               else
               {
               return false;
               }
         }


     function dialog()
     {
             $("#dialogToShow").dialog({
                        title: "Confirm Password",
                        closeText: "Cancel",
                        show:"slide",
                        resizable: false,
                        modal: true,
                          open: function(ev, ui){
                          $('.ui-widget-overlay').stop().animate({"opacity": "0.40"}, 1480);
                          },
                          close: function(ev, ui){
                          $('.ui-widget-overlay').stop().animate({"opacity": "0"}, 1480);
                          }                  
                          });                     
            return false;
     }

有人可以帮我解决这个问题吗?

最佳答案

问题是,您尝试第二次重新初始化对话框。这不可能。将对话框分配给变量并使用此引用打开对话框。另请务必设置 autoOpen: false

尝试以下操作:

var $dialog = null;
function dialog()
{
    // create dialog if not done already
    if (!$dialog) {
        $dialog = $("#dialogToShow").dialog({
            title: "Confirm Password",
            closeText: "Cancel",
            show:"slide",
            resizable: false,
            modal: true,
            autoOpen: false, // this is important! prevent auto open
            open: function(ev, ui){
                $('.ui-widget-overlay').stop().animate({"opacity": "0.40"}, 1480);
            },
            close: function(ev, ui){
                $('.ui-widget-overlay').stop().animate({"opacity": "0"}, 1480);
            }                  
        });
    }
    // use the reference to the dialog and call open.
    $dialog.dialog('open');
    return false;
}

关于jquery - 第二次单击确认框“确定”按钮时未显示对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5962092/

相关文章:

javascript - 如何将自定义大小的图标放入 jQuery UI 按钮中?

JavaScript 滚动到带动画的 div

jquery - 缩小窗口时如何将 iframe 内容大小调整到 bootstrap 4 中的 div 区域?

javascript - 无法阻止我的网页换行

javascript - 如何使用 jQuery UI 检测我拖到窗口外的情况?

jQuery 可对动态元素进行排序

javascript - 在 HTML 中执行动态表计算 - jQuery?

javascript - 在 IE 中解析 A​​jax 加载的 HTML 内容

jQuery UI 对话框在 IE9 中不起作用

javascript - 将自定义类添加到 jQuery UI 的 ui-autocomplete Combobox Div