我是Jquery的新手,即使在搜索doc和這裏(stackoverflow)後,找不到解決方法。Jquery在過濾後檢查元素
下面是我的下表,其中有3行,每行都有一個複選框(行中的第一個元素)。
現在有filtermatch="false" style="display: none;",
的行將被隱藏。
我也有一個按鈕來檢查所有並取消全部選中。如果不應用隱藏,它會工作,但如果某個元素被隱藏,則勾選按鈕也會隱藏對象被選中/未選中。
我的問題是如何獲得第2排,而無需修改表中任何HTML代碼進行覈對(實際上,通過其他人的腳本自動生成的表,我只是寫我的腳本來控制顯示。)
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:[email protected]?subject=Invitation for an interview">[email protected]</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:[email protected]?subject=Invitation for an interview">[email protected]</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:[email protected]?subject=Invitation for an interview">test09[email protected]</a></td>
<td>56456161 </td>
</tr>
</tbody>
</table>
js腳本:
$('#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" %}');
});
提前感謝任何投入。
謝謝大家,我只是自己的身影的解決方案。這裏是代碼: $('#selectall')。toggle(function(){ $('tr [style =「」]')。find(「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'全部「%}」); }); – user3409626