【发布时间】:2013-03-08 06:31:01
【问题描述】:
我正在使用jquery ui 对话框,我从jquery ui 网站下载它,版本是jquery-ui-1.10.2.custom.min.js,jquery 是jquery-1.9.1.js,它与jquery ui 捆绑在一起js,但现在我遇到一个问题:当打开对话框并单击保存按钮时,我希望关闭对话框,这是我的代码:
$(function(){
$("#dialog-form").dialog({
autoOpen: false,
height: 350,
width: 450,
modal: true,
buttons: {
"save": function() {
if(!checkDept()){
return ;
}
$.post('dept_save.do',
{'dept.deptId':$("#dialog_dept_deptId").val(),
'dept.deptName':$("#dialog_dept_deptName").val(),
'dept.manager':$("#dialog_dept_manager").val(),
},function(data, status, xhr){
if(status == 'success'){
alert('save success');
$(this).dialog("close");
}else{
alert('error:'+data);
}
}
,"json");
}
},
close: function() {
$(this).dialog("close");
}
});
/* to open dialog*/
$("#add").click(function(){
$("#dialog-form").dialog("open");
});
现在当我关闭“保存成功”弹出对话框时,dialog-form 对话框没有关闭,并且出现错误:
未捕获的错误:无法在初始化之前调用对话框上的方法;试图调用方法'close' jquery-1.9.1.js:507。
还有一个错误:
Uncaught SyntaxError: Unexpected token o jquery-1.9.1.js:541
谢谢。
【问题讨论】:
-
对不起,我知道为什么错了,匿名成功函数中的
$(this)没有引用对话框,改成$("#dialog-form")就可以了。