2017-05-03 55 views
0

我有一个表格,表格的每一行是数据和手风琴内的一个表格。表单成功提交后,手风琴会关闭,我想知道如何刷新表格行中的数据。如何使用jQuery刷新表格行?

这可以刷新整个表格,但我只想更新相关行。 $("#credits_table").load(location.href + " #credits_table");

非常感谢

每个表行都有一个唯一的ID。

这是我曾尝试:$("#tr"+num).load(location.href + " #tr"+num);//Reload row

The jQuery 

//Edit Credit 
    $("form").submit(function (e) { 
     e.preventDefault(); 
      // Get the submit button element 
      var btn = $(this).find("button").attr("id");//Find button ID 
      var num=btn.slice(3,this.id.length); //Get Unique ID for form 

      var formdata = $("#edit_credit"+num).serialize();//Submit correct form by adding unique id 
      $.post('update_credit.php', formdata, 
       function(data){ 
      console.log(data); 
      $(".panel-collapse").collapse("hide");//hide accordian 
      $("#credits_table").load(location.href + " #credits_table"); 
     }); 
      return false; 
    }); 

表和形式:

<table id="credits_table"><tr><th>ID</th><th>Production</th></tr> 
<tr id="row_1"><td>data</td><td>more data</td></tr> 

...and so on + form 

<tr id="row_2"> 
<button data-toggle="collapse" data-parent="#accordion1" href="#content1" class="btn btn-small btn-default">edit</button>   
</td></tr> 
</table> 
+0

您在“数据”中获得的价值是多少? console.log(数据)打印什么? –

+0

它打印'成功'。这是从一个页面更新一个MySQL表格与表格中的数据。这一切工作...只是没有表行刷新。 – JulianJ

+1

如果你可以在更新后返回新的数据,而不是发送“成功”,你将不必调用load(location.href +“#credits_table”),这将刷新表 –

回答

1

如何我已经在一个表中单独更新行仅仅是通过发送新值的行柱。因此,在成功函数内调用如下所示:

$("#row1").find("td").eq(0).html(your new value here); 

您可以为每个td使用新的更新值。这就是说,如果您将数据按列分隔出来,而不是仅发回整行数据。即使您要返回整行,也应该能够按列分隔出来,然后将这些数据添加到它所属的每个特定的td中。

此外,如果您正确更新数据库,则下次用户加载页面时,它也将具有该行的新数据值。这样,每次更改行时都不必重新加载表。