2015-02-11 52 views
0

我创建了一个过滤器,根据比较选定的值从表中删除行。问题是我需要在用户选择不同的值后显示删除的行,但我不知道如何。 这是我的函数:显示删除后使用jQuery和下拉选择行

$(document).ready(function() { 
    $("button").click(function() { 
     $("td").each(function(index, paragraph) { 
      $td = $(paragraph); 
      if ($td.html() === $('select[name=select1]').val()) { 
       $(this).parent("tr:first").remove();     } 
     }); 
}); 

,这是下拉菜单:

<select name="select1"> 
    <option value="" disabled selected>user name</option> 
    <?php while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { ?> 
     <option value="<?php echo $line['user_name'];?>"> 
      <?php echo $line['user_name'];?> 
     </option> 
    <?php } ?> 
</select> 

是否有办法后select1变化我可以返回删除行的表?

+1

这听起来像你不想“删除”行这么多的“隐藏”他们。 – JRulle 2015-02-11 15:41:43

回答

0

你为什么不只是改变了TR的CSS:

display: none; 

而不是删除呢?然后你就可以将其更改为回添加:

display: block; 
0

而不是删除匹配的行,为什么不躲他们,然后再次显示所有行每当下拉值被改变?

$(document).ready(function() { 
    $("button").click(function() { 
     $("td").each(function(index, paragraph) { 
      $td = $(paragraph); 
      if ($td.html() === $('select[name=select1]').val()) { 
       //hide the matched row rather than remove it 
       $(this).parent("tr:first").hide(); 
      } 
    }); 
    $('select[name="select1"]').on('change', function() { 
     $("tr").show(); 
    }); 
}); 

JSFIDDLE Demo

相关问题