jquery ui dialog 里调用ajax 之后dialog出错(两贴同结)
问题发在 javascript区一天了,一个回帖也没有,太冷清了,还是发回这里看看吧,如果有答案了,两贴一起结分
http://topic.csdn.net/u/20120820/19/14f894a4-2b28-4cb0-9349-ac3be6b0a121.html?seed=1941367641&r=79460326
jquery ui 的 dialog,里面如果不用 $.get $.ajax 之类的东西就一切正常,只要用了AJAX, 甚至是.load 之后 dialog就不正常了,不能用外部的按钮关闭,测试.dialog("isOpen")也是返回object.
代码如下:
function showSupplierCategory() {
alert($("#supplierCate").dialog("isOpen"));
if ($("#supplierCate").dialog("isOpen") !== true) {
$("#supplierCate").dialog();
$("#supplierCate").html("<p>Loading...</p>");
$("#supplierCate").load('/supplier/index')
}
}
function closeSupplierCategory() {
$("#supplierCate").dialog("close");
}
<button onclick="return showSupplierCategory()" >open</button>
<button onclick="closeSupplierCategory()" >close</button>
<div id="supplierCate"></div>
经反复测试,只要没有这句:$("#supplierCate").load('/supplier/index')
或者是:$.get('/supplier/index', function (rs) {
$("#supplierCate").html(rs);
});
就一切正常,在对话框打开的时候alert($("#supplierCate").dialog("isOpen"));是返回的true,也可以用<button onclick="closeSupplierCategory()" >close</button>关闭,如果经过AJAX调用,就不行了,只能用对话框内的小叉关闭,
对话框明明是打开的,$("#supplierCate").dialog("isOpen")却返回[Object Object].
测试了一天不得要领,帮忙看下!谢谢!
------解决方案--------------------如下操作是没有问题的
JScript code
function showSupplierCategory() {
$.ajax({
type: "Get",
async: false,
url: "a.aspx",
data: null,
success: function (data) {
$("#supplierCate").html(data);
}
});
$("#supplierCate").dialog();
}
------解决方案--------------------
$("#supplierCate").load('/supplier/index') 或
$.get('/supplier/index',
你返回的HTML标签 是带HEAD的了 要记住页面要无缝拼接
如果你AJAX返回的是不是 一样的拼接 尤其是$("#supplierCate").load('/supplier/index')
会把页面的所有的HTML加载过来的