2017-05-03 207 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中。

此外,如果您正確更新數據庫,則下次用戶加載頁面時,它也將具有該行的新數據值。這樣,每次更改行時都不必重新加載表。