我有一个在第一行有下拉html选择器的表格,第一个选项是空的。
我需要隐藏表中的所有行,除了那些匹配选择器值的行。如果选择了第一个选项--隐藏下面的所有行。我使用类的原因是TR,因为可能有多个匹配的选项行。
JS
$("#mySelector").change(function(){
opt = $(this).val();
if(opt != "") {
$("." + opt).show();
} else {
$("#myTbl tr:not(first-child)").hide();
}
});
字符串
超文本标记语言
<table id="myTbl">
<tr>
<td>
<select id="mySelector">
<option> select one
<option value="val1"> v1
<option value="val2"> v12
<option value="val3"> v3
</selector>
</td>
</tr>
<tr class="val1">
<td>
asdasd 1
</td>
</tr>
<tr class="val2">
<td>
asdasd 2
</td>
</tr>
<tr class="val3">
<td>
asdasd 3
</td>
</tr>
</table>
型
看起来应该有用,但没有,我错过了什么?
4条答案
按热度按时间z4iuyo4d1#
您错过了
first-child
之前的:
字符串
bvn4nwqk2#
试试下面这样的东西,
字符串
toiithl63#
字符串
或者:
型
需要在第一个
<option>
中添加一个value属性:型
Live DEMO
注意
opt = $(this).val();
应该是
this.value
漂亮,清晰,干净,更快。dxpyg8gm4#
字符串