0

以下のような表があります。

このテーブルは、データベースの内容を示しています。

<table>
<tbody id="2"><tr><td>name1</td><td><a href="javascript:del(2)"><span>del</span></a></td></tr></tbody>
<tbody id="6"><tr><td>name2</td><td><a href="javascript:del(6)"><span>del</span></a></td></tr></tbody>
</table>

「del」リンクは Ajax を呼び出し、データベースから項目を削除します。

function del(num){
  $.post('{{path('acme_member_delScore')}}',              
    {data1: num },     function(response){
        if(response.code == 100 && response.success){//dummy check
          //do something
           var tbody = document.getElementById(num);
           var tr // i want to get tr
           tbody.removeChild(tr);  

        }
  }, "json");
}

テーブルを更新するにはどうすればよいですか?

4

4 に答える 4

2

リンクに 2 つのタグを使用しないことをお勧めします。次の 1 つだけを使用します。

<table>
<tr><td>name1</td><td><span data-del="2">del</span></td></tr>
<tr><td>name2</td><td><span data-del="6">del</span></td></tr>
</table>

すべてを 1 つのハンドラーで実行します。そして、「最も近い」を使用して親 TR を見つけます。

$('span[data-del]').click(function(){
  var obj = $(this);
  var num = $(this).attr('data-del');
  $.post('{{path('acme_member_delScore')}}',              
    {data1: num }, function(response){
    if(response.code == 100 && response.success){
      obj.closest('tr').remove();
    }
  }, "json");
});
于 2013-09-02T06:35:45.230 に答える
0

私が提案するのは、とにかく、データベースからロードするときに動的に生成されるテーブルです。したがって、trのようなIDを設定します

<table>
<tr id="tr_2"><td>name1</td><td><a href="javascript:del(2)"><span>del</span></a></td></tr>
<tr id="tr_6><td>name2</td><td><a href="javascript:del(6)"><span>del</span></a></td></tr>
</table>

したがって、Ajax自体でtrを削除できます

function del(num){
  $.post('{{path('acme_member_delScore')}}',              
    {data1: num },     function(response){
        if(response.code == 100 && response.success){//dummy check
          //do something
          $("#tr_"+num).remove();
        }
  }, "json");
}
于 2013-09-02T06:34:21.743 に答える