我正在尝试从fancybox更新我网站上的元素。在fancybox中我做了一个$ .post()并获取了我希望在我的页面上的div中填充的html数据。我正在打开ajax中的fancybox。我可以在firebug中看到我的脚本正在返回html,但父页面上的选择框没有更新。任何人都可以用正确的方法帮助我吗?我正在尝试使用fancybox:
$("#send-message").click(function () {
$(this).closest('form').submit(function () {
return false;
});
var frm = $(this).closest('form');
if ($(frm).valid()) {
$("#ajax-loading").show();
var data = $(frm).serialize();
$(frm).find('textarea,select,input').attr('disabled', 'disabled');
$.post("../forms/company_add.php",
data,
function (data) {
if (data.success) {
$('#companyselect', $(parent.document)).html(data.success);
parent.$.fancybox.close();
} else {
$("#ajax-loading").hide();
$(frm).find('textarea,select,input').removeAttr('disabled');
$("#send_message_frm").append(data.error);
}
}, "json"
);
}
});
我正在使用fancybox-2和php。 THX!
答案 0 :(得分:0)
我认为你只需要使用元素的id
$('#companyselect').html(data.success);
$.fancybox.close();
答案 1 :(得分:0)
在您的父母上写一个javascript函数,如
function UpdateElementOfParent(someValue)
{
// your code
}
从你的fancybox,你可以得到父对象,并调用它的功能......
this.parent.UpdateElementOfParent(someValue);