我正在尝试从fancybox更新我网站上的一个元素。在fancybox中,我执行一个$.post()操作,并获取aI希望在页面上的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。谢谢!
发布于 2012-11-02 11:58:41
我认为您只需要使用元素的id
$('#companyselect').html(data.success);
$.fancybox.close();发布于 2012-11-02 12:04:22
在父级上编写javascript函数,如下
function UpdateElementOfParent(someValue)
{
// your code
}在您的fancybox中,您可以像这样调用父对象并调用它的函数。
this.parent.UpdateElementOfParent(someValue);https://stackoverflow.com/questions/13194632
复制相似问题