使用JQuery隐藏选定的TR

时间:2012-05-25 10:21:10

标签: jquery mysql ajax

我有下表,其中每行都有唯一的ID。现在我想,如果我点击删除链接,行ID将传递给PHP文件t从MySQL DB中删除记录,然后选择的行将隐藏JQuery魔法。

<table id="projects_rec">
  <tbody>
    <tr id="MjY=">
      <td>Dany</td>
      <td><a onClick="remove('MjY=')" class="actions">Remove</a></td>
    </tr>
    <tr id="MjU=">
      <td>King</td>
      <td><a onClick="remove('MjU=')" class="actions">Remove</a></td>
    </tr>
    <tr id="MjQ=">
      <td>Test 2</td>
      <td><a onClick="remove('MjQ=')" class="actions">Remove</a></td>
    </tr>   
  </tbody>
</table>

我写了

function remove(mid){
    document.getElementById(mid).style.display='none';
}

但是如何将ID传递给PHP文件,然后用慢速效果隐藏TR?

3 个答案:

答案 0 :(得分:1)

您可以使用jquery隐藏ID:

$('#'+id).hide('slow');

假设您的javascript函数删除看起来与此类似。

remove(id)
{
  $.ajax({
    url: url here,
    type: "POST",
    data: {id : id },
    success: function(data)
    {
        var row_id = id.toString().replace(/=/g, "\\=");
        $('#'+row_id).hide('slow');    
    },
    error: function (xhr, textStatus, errorThrown)
    {
        alert("Error");
    }
    });
}

答案 1 :(得分:0)

<tr id="MjQ=">
  <td>Test 2</td>
  <td><a onClick="remove('MjQ=',this)" class="actions">Remove</a></td>
</tr> 

remove函数

function remove(id,$this){
 //do the php stuff
 $.post('remove.php',{id:id},function(){
   $("#"+id).hide();
 });     
}

在php端,你可以得到id为

$id=$_REQUEST['id'];

答案 2 :(得分:0)

工作演示 http://jsfiddle.net/feake/

您需要转义ID中的字符=,并在示例演示中我将其替换为escape \\=并使用Bingo。

这会对你有所帮助! :)

代码

function remove(row_id){
    var foo = row_id.toString().replace(/=/g, "\\=");

    $("#"+foo).css('display','none');

  }​