0

可能重复:
从 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。谢谢!

4

2 回答 2

0

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

$('#companyselect').html(data.success);
$.fancybox.close();
于 2012-11-02T11:58:41.987 回答
0

在你的父母身上写一个javascript函数,比如

function UpdateElementOfParent(someValue)
{
// your code
}

从您的幻想箱中,您可以使用父对象并像这样调用它的函数..

this.parent.UpdateElementOfParent(someValue);
于 2012-11-02T12:04:22.937 回答