Jquery 对话框仅在第三次单击后才有效
Jquery dialog works only after the third click
我的 jquery 对话框有问题,因为它只有在第三次单击后才能打开。谁能帮忙?这是片段。当自动打开设置为真时,它会起作用。但它使用 auto open true 会产生另一个问题。我不知道我的代码有什么问题。每次单击都会调用此特定函数。
谢谢。
function attachmentDialogBox(objId){
var parentDiv = objId;
if(parentDiv!=''){
var source = $("#"+parentDiv+" input[name=sourceId]").val();
var type = $("#"+parentDiv+" input[name=typeId]").val();
}
else{
var source = $("input[name=sourceId]").val();
var type = $("input[name=typeId]").val();
}
$.ajax({
url:"${createLink(controller: "fileAttachment",action: "rAttachmentDialog")}",
data:{id:"${id}",module:"${module}",moduleType:"${moduleType}",source:"${source}",sourceId:source,attachmentUrl:"${attachmentUrl}",multiple:"${multiple?:1}",type:type},
type:"post",
success:function(data){
$("#attachDocument").html(data);
$("#attachDocument").dialog({
title:"${module=="memberProfilePic"?"Upload Profile Image":"Attach Document"}",
zIndex:1103,
modal:true,
autoOpen:false,
width:"${module=="memberProfilePic"?355:"auto"}",
resizable:false,
draggable:false,
close:function(){
$("#attachDocument").remove();
$("#dialogContainer").append("<div id='attachDocument'></div>");
}
});
alert($("#attachDocument").val);
$("#attachDocument").dialog('open');
}
});
return false;
}
尝试将其更改为:
var dialog $("#attachDocument").dialog({...});
dialog.dialog("open");
我不完全确定 $().dialog() returns 实例,但如果是,它应该是更安全的方法
更改为通过评论中的建议找到的解决方案。
我的 jquery 对话框有问题,因为它只有在第三次单击后才能打开。谁能帮忙?这是片段。当自动打开设置为真时,它会起作用。但它使用 auto open true 会产生另一个问题。我不知道我的代码有什么问题。每次单击都会调用此特定函数。 谢谢。
function attachmentDialogBox(objId){
var parentDiv = objId;
if(parentDiv!=''){
var source = $("#"+parentDiv+" input[name=sourceId]").val();
var type = $("#"+parentDiv+" input[name=typeId]").val();
}
else{
var source = $("input[name=sourceId]").val();
var type = $("input[name=typeId]").val();
}
$.ajax({
url:"${createLink(controller: "fileAttachment",action: "rAttachmentDialog")}",
data:{id:"${id}",module:"${module}",moduleType:"${moduleType}",source:"${source}",sourceId:source,attachmentUrl:"${attachmentUrl}",multiple:"${multiple?:1}",type:type},
type:"post",
success:function(data){
$("#attachDocument").html(data);
$("#attachDocument").dialog({
title:"${module=="memberProfilePic"?"Upload Profile Image":"Attach Document"}",
zIndex:1103,
modal:true,
autoOpen:false,
width:"${module=="memberProfilePic"?355:"auto"}",
resizable:false,
draggable:false,
close:function(){
$("#attachDocument").remove();
$("#dialogContainer").append("<div id='attachDocument'></div>");
}
});
alert($("#attachDocument").val);
$("#attachDocument").dialog('open');
}
});
return false;
}
尝试将其更改为:
var dialog $("#attachDocument").dialog({...});
dialog.dialog("open");
我不完全确定 $().dialog() returns 实例,但如果是,它应该是更安全的方法
更改为通过评论中的建议找到的解决方案。