我创建了一个过滤器,根据与所选值的比较从表中删除行。问题是我需要在用户选择不同的值后显示已删除的行,但我无法弄清楚如何。 这是我的功能:
$(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
更改后将删除的行返回到表中?
答案 0 :(得分:0)
为什么不直接将TR上的css更改为:
display: none;
而不是删除它?然后,您可以通过将其更改为:
将其重新添加display: block;
答案 1 :(得分: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 强>