使用 jquery,如何隐藏所有 table 行未检查?
Using jquery, how can I hide all table rows that are not checked?
我有一个带有一列复选框的 html table。我有一个按钮(上面写着 "Show only selected rows",在按钮上单击我想隐藏所有未选中该行复选框的行
这是我的例子 html:
<button id="mybutton">Show only Selected Rows</button>
<table>
<tr>
<td>test</td>
<td><input class="test" type=checkbox value=100></td>
<td><input class="test2" type=checkbox value=222></td>
</tr>
<tr>
<td>test</td>
<td><input class="test" type=checkbox value=100></td>
<td><input class="test2" type=checkbox value=222></td>
</tr>
</table>
我想让它动态地查看列(不是硬编码的)所以我可以说“基于第二列或第三列等进行过滤)
使用选择器 :checkbox:not(:checked)
来定位所有未选中的复选框以及 .closest('tr')
以获得它们的父 tr:
$('table td:first-child :checkbox:not(:checked)').closest('tr').hide();
我想你正在找这个......
$('#mybutton').click(function(){
$('table tr td:first-child :checkbox:not(:checked)').closest('tr').hide();
});
* {margin: 0px; padding: 0px;}
body {background-color: rgb(248,248,248)}
#nav {
list-style:none;
}
#nav li {
float:left;
display:block;
width:100px;
position:relative;
z-index:500;
}
/* this is the parent menu */
#nav li a {
display:block;
padding:15px;
color:#000;
border: 1px solid transparent;
}
#nav li a:hover {
border: 1px solid black;
}
#nav a.open {
color:#fff;
background-color: pink;
}
#nav ul {
position:absolute;
display:none;
padding:0;
list-style:none;
}
#nav ul li {
width:100px;
float:left;
}
#nav ul a {
display:block;
height:15px;
padding: 15px;
color:#666;
}
#nav ul a:hover {
text-decoration:underline;
}
.active{
background-color: pink;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="mybutton">Show only Selected Rows</button>
<table>
<tr>
<td><input class="test" type=checkbox checked value=100></td>
<td><input class="test2" type=checkbox checked value=222></td>
</tr>
<tr>
<td><input class="test" type=checkbox value=100></td>
<td><input class="test2" type=checkbox checked value=222></td>
</tr>
</table>
我有一个带有一列复选框的 html table。我有一个按钮(上面写着 "Show only selected rows",在按钮上单击我想隐藏所有未选中该行复选框的行
这是我的例子 html:
<button id="mybutton">Show only Selected Rows</button>
<table>
<tr>
<td>test</td>
<td><input class="test" type=checkbox value=100></td>
<td><input class="test2" type=checkbox value=222></td>
</tr>
<tr>
<td>test</td>
<td><input class="test" type=checkbox value=100></td>
<td><input class="test2" type=checkbox value=222></td>
</tr>
</table>
我想让它动态地查看列(不是硬编码的)所以我可以说“基于第二列或第三列等进行过滤)
使用选择器 :checkbox:not(:checked)
来定位所有未选中的复选框以及 .closest('tr')
以获得它们的父 tr:
$('table td:first-child :checkbox:not(:checked)').closest('tr').hide();
我想你正在找这个......
$('#mybutton').click(function(){
$('table tr td:first-child :checkbox:not(:checked)').closest('tr').hide();
});
* {margin: 0px; padding: 0px;}
body {background-color: rgb(248,248,248)}
#nav {
list-style:none;
}
#nav li {
float:left;
display:block;
width:100px;
position:relative;
z-index:500;
}
/* this is the parent menu */
#nav li a {
display:block;
padding:15px;
color:#000;
border: 1px solid transparent;
}
#nav li a:hover {
border: 1px solid black;
}
#nav a.open {
color:#fff;
background-color: pink;
}
#nav ul {
position:absolute;
display:none;
padding:0;
list-style:none;
}
#nav ul li {
width:100px;
float:left;
}
#nav ul a {
display:block;
height:15px;
padding: 15px;
color:#666;
}
#nav ul a:hover {
text-decoration:underline;
}
.active{
background-color: pink;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="mybutton">Show only Selected Rows</button>
<table>
<tr>
<td><input class="test" type=checkbox checked value=100></td>
<td><input class="test2" type=checkbox checked value=222></td>
</tr>
<tr>
<td><input class="test" type=checkbox value=100></td>
<td><input class="test2" type=checkbox checked value=222></td>
</tr>
</table>