从fancybox更新父页面上的元素

时间:2012-11-02 11:46:40

标签: php javascript jquery fancybox-2

  

可能重复:
  Update a Select Box on Parent Page from FancyBox2

我正在尝试从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!

2 个答案:

答案 0 :(得分:0)

我认为你只需要使用元素的id

$('#companyselect').html(data.success);
$.fancybox.close();

答案 1 :(得分:0)

在您的父母上写一个javascript函数,如

function UpdateElementOfParent(someValue)
{
// your code
}

从你的fancybox,你可以得到父对象,并调用它的功能......

this.parent.UpdateElementOfParent(someValue);