jQuery在使用colorbox iframe提交后追加

时间:2012-09-05 16:31:14

标签: jquery append colorbox

如果你能帮我解决下面的代码。出于某种原因,它没有附加表格#appendAffiliate的行很快就会提交。我使用colorbox作为模态对话框。

注意:这仅在以彩盒模式提交表单时才会出现。

HTML:
<a href="page/frame.php" class="colorbox-iframe"></a>

frame.php FILE (modal):
<form>....</form>

table markup:
<table width="100%" id="appendAffiliate">
<thead>
  <tr>
   <th>Name</th>
   <th>Discount</th>
  </tr>
</thead>
<tbody></tbody>
</table>

JAVASCRIPT:

$('.colorbox-iframe').colorbox({
 overlayClose: false,
 iframe: true,
 scrolling: false,
 innerWidth: 200,
 innerHeight:150
});

$('form').submit(function(){
    $.ajax({
     type: 'post',
     url: 'json/json.php',
     data: $(this).serialize(),
     dataType: 'json',
     cache: false,
     success: function(data) {
      if ( data.ok ) {

   // None working     
   $('#appendAffiliate').append('<tr><td>test</td><td>test</td></tr>');
   $('#appendAffiliate > tbody').append('<tr><td>test</td><td>test</td></tr>');        
   $('#appendAffiliate tbody:last').append('<tr><td>test</td><td>test</td></tr>');

        $('input[type="submit"]').prop('disabled',true);

        setTimeout(function(){
          $('input[type="submit"]').prop('disabled',false);
          **parent.$.fn.colorbox.close();**             
        },2000);
      } else {

      }
     }
    });
   return false;
})

2 个答案:

答案 0 :(得分:0)

您应该附加到thead

CODE

$('#appendAffiliate thead').append('<tr><td>test</td><td>test</td></tr>');

答案 1 :(得分:0)

您的帖子没有明确区分父表单中的标记/ js(调用ColorBox的页面)和ColorBox显示的内容中的标记/ js。

如果表在父级中,请确保在进行追加时引用父级。 (您可能尝试附加到子页面中可能不存在的节点。)