我是Jquery的新手,即使在搜索doc和here(stackoverflow)之后,也找不到解决它的方法。
下面是我的表格,其中有3行,每行都有一个复选框(一行中的第一个元素)。
现在将隐藏filtermatch="false" style="display: none;",
行。
我还有一个按钮来检查所有内容并取消选中所有内容。如果不应用隐藏,它会工作,但如果某个元素被隐藏,则检查按钮也会检查/取消选中隐藏对象。
我的问题是如何在不修改表格html的任何代码的情况下检查前2行(实际上,该表是由其他人的脚本自动生成的,我只能编写我的脚本来控制显示。)
HTML
<table id="RankTable" border="0" width="800">
<thead>
<tr>
<th filter="false"><input type="button" id="selectall" value="all"></th>
<th filter="false">rank</th>
<th filter-type="ddl">degree</th>
<th filter-type="ddl">lastposition</th>
<th filter-type="ddl">workingyear</th>
<th>realname</th>
<th>email</th>
<th>mobile</th>
</tr>
</thead>
<tbody>
<tr id="answer-row" style="">
<td><input type="checkbox" name="answers" value="140"> </td>
<td>2 </td>
<td>bachelor </td>
<td>项目经理 </td>
<td>9 </td>
<td> </td>
<td><a href="mailto:test06@witz.cn?subject=Invitation for an interview">test06@witz.cn</a></td>
<td>12316459749816 </td>
</tr>
<tr id="answer-row" style="">
<td><input type="checkbox" name="answers" value="139"> </td>
<td>6 </td>
<td>bachelor </td>
<td>项目主管 </td>
<td>9 </td>
<td> </td>
<td><a href="mailto:test03@witz.cn?subject=Invitation for an interview">test03@witz.cn</a></td>
<td>12345646 </td>
</tr>
<tr id="answer-row" filtermatch="false" style="display: none;">
<td><input type="checkbox" name="answers" value="141"> </td>
<td>7 </td>
<td>master </td>
<td>程序员 </td>
<td>1 </td>
<td> </td>
<td><a href="mailto:test09@witz.cn?subject=Invitation for an interview">test09@witz.cn</a></td>
<td>56456161 </td>
</tr>
</tbody>
</table>
js script:
$('#selectall').toggle(function () {
$("input[name='answers']").attr("checked", 'true');
$("input[id='selectall']").attr("value", '{% trans "None" %}');
}, function () {
$("input[name='answers']").removeAttr("checked");
$("input[id='selectall']").attr("value", '{% trans "All" %}');
});
提前感谢任何输入。
答案 0 :(得分:0)
对那些可见的行<tr>
使用公共类,并在其上添加事件。有了这个,你隐藏的<tr>
将没有'已选中' - 复选框。
HTML
<td><input type="checkbox" name="answers" class="answers" value="139"/> </td>
JS:
$(".answers").attr("checked", 'true');
当show()
或display()
隐藏行时,您可以将此同一类添加回该行
然后复选框也可以检查。
我稍微修改了您的代码: here is demo