如何使用jquery从td中删除表行基数?

时间:2012-10-30 03:50:54

标签: jquery tablerow

例如我有这张表:

id  name action
1   john x
2   doe  x

如果我在id为1时单击行中的x将被删除,我该怎么办?

$('.btnDeleteitem').live('click', function() {
            //
            $.ajax({
                url: 'wp-content/themes/twentyeleven-child/Delete.Item.php',
                type: 'post',
                data: { asin: $(this).attr('alt') },
                success:function(){
                    //
                }
            });

注意:表中的数据来自数据库

2 个答案:

答案 0 :(得分:2)

小提琴 - http://jsfiddle.net/tariqulazam/s9cwt/

<强> HTML

<table>
<tr>
    <th>Id</th>
    <th>Name</th>
    <th>Action</th>
</tr>
<tr>
    <td>1</td>
    <td>John</td>
    <td>X</td>
</tr>
<tr>
    <td>2</td>
    <td>Doe</td>
    <td>X</td>
</tr>
</table>​

<强> JQUERY

$(document).ready(function(){
    $("td:contains('X')").click(function(){
      $(this).parent('tr').remove();
    });
});​

如果您只想删除id = 1的行,可以试试这个

$(document).ready(function(){
    $("td:contains('X')").click(function(){
      if($(this).parent('tr').find('td').first().text()==1)
        $(this).parent('tr').remove();
    });
});​

答案 1 :(得分:0)

假设您单击任意行的x,这应该有效:

$(this).closest('tr').remove()

肯定有更快的方法可以尝试解决它:)。如果x始终位于td下,则您可以使用parent而不是parents

现在,如果你想从数据库中删除它(正如评论中有人问的那样),你可以触发一个ajax调用。但是,您还需要获取行的ID。为简单起见,您可以修改表格设计,例如:

<tr>
  <td class="recordID">1</td>
  <td>John</td>
  <td>X</td>
</tr>
<tr>
  <td class="recordID">1</td>
  <td>Doe</td>
  <td>X</td>
</tr>

使用Javascript:

recordID = $(this).siblings('.recordID').text();
$(this).closest('tr').remove();
$.post("/deleteRecored?id=" + recordID, function(response){ 
  //handle your response here
})