Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
Javascript 调用jQuery对话框两次_Javascript_Jquery_Jquery Ui - Fatal编程技术网

Javascript 调用jQuery对话框两次

Javascript 调用jQuery对话框两次,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有两个函数:myFunc1和myFunc2。调用myFunc1时,将显示一个。当用户单击yes时,将调用myFunc2,这将显示另一个对话框。 但是,尽管成功地调用了myFunc2,第二个对话框从未出现 在实际关闭第一个对话框之前,您正在解析差异对象。因此,当点击then回调时,对话框仍处于打开状态,因此不会创建新对话框 只需交换功能,它就应该工作了 "Yes": function() { $(this).dialog("close"); def.resolve("yes")

我有两个函数:myFunc1和myFunc2。调用myFunc1时,将显示一个。当用户单击yes时,将调用myFunc2,这将显示另一个对话框。 但是,尽管成功地调用了myFunc2,第二个对话框从未出现


在实际关闭第一个对话框之前,您正在解析差异对象。因此,当点击then回调时,对话框仍处于打开状态,因此不会创建新对话框

只需交换功能,它就应该工作了

"Yes": function() {
    $(this).dialog("close");
    def.resolve("yes");           
},
解析延迟后,将调用由Deferred.then或Deferred.done添加的任何doneCallbacks。回调按添加顺序执行


您正在使用同一个div创建所有对话框,如果您需要同时打开多个对话框,这将是一个问题

// Get a random unique number to use as the dialog id
var guid = Math.floor(Math.random() * 9999999999999) + 1;
// Clone the dialog div and give it a new name
$("#dialog").clone()[0].id = guid;
// Create the dialog with the new unique div
$("#"+guid).dialog({...});
而且

// Get a random unique number to use as the dialog id
var guid = Math.floor(Math.random() * 9999999999999) + 1;
// Clone the dialog div and give it a new name
$("#dialog").clone()[0].id = guid;
// Create the dialog with the new unique div
$("#"+guid).dialog({...});
// Make sure you remove the div after you close it
$(this).dialog("close").remove();