在给定的示例中,我可以在点击td的复选框时选择/取消选择每一行,但是如何选择/取消选择点击id="selectAll"
上的所有行
JS:
$(document).ready(function () {
$("input[type='checkbox']").change(function (e) {
if ($(this).is(":checked")) {
$(this).closest('tr').addClass("warning");
} else {
$(this).closest('tr').removeClass("warning");
}
});
});
答案 0 :(得分:1)
答案 1 :(得分:0)
您需要查看点击的复选框selectAll
或not
,例如$(this).attr('id')=='selectAll'
$(document).ready(function () {
$("input[type='checkbox']").change(function (e) {
if($(this).attr('id')=='selectAll'){
if($(this).is(":checked")){
$('table').find('tr').addClass("warning");
$('table').find("input[type='checkbox']").prop('checked',true);
}else{
$('table').find('tr').removeClass("warning");
$('table').find("input[type='checkbox']").prop('checked',false);
}
}else{
if ($(this).is(":checked")) {
$(this).closest('tr').addClass("warning");
} else {
$(this).closest('tr').removeClass("warning");
}
if($("input[type=checkbox]:checked").not('#selectAll').length==0){
$('#selectAll').prop('checked',false);
}else if($("input[type='checkbox']:checked").not('#selectAll').length==$("input[type='checkbox']").not('#selectAll').length){
$('#selectAll').prop('checked',true);
}
}
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table table-bordered table-striped table-hover table-condensed">
<tr>
<th><input type="checkbox" id="selectAll"/></th>
<th>Title</th>
<th>Title</th>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Hello</td>
<td>Hello</td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Hello</td>
<td>Hello</td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Hello</td>
<td>Hello</td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Hello</td>
<td>Hello</td>
</tr>
</table>
&#13;
答案 2 :(得分:-1)
https://fiddle.jshell.net/w9zkwb1f/5/
$(document).ready(function () {
$("#selectAll").click(function(){
if($(this).is(':checked')){
$("input[type='checkbox']").prop("checked",true);
$("table tr").addClass("warning");
}
else{
$("input[type='checkbox']").prop("checked",false);
$("table tr").removeClass("warning");
}
});
$("input[type='checkbox']").change(function (e) {
if ($(this).is(":checked")) {
$(this).closest('tr').addClass("warning");
} else {
$(this).closest('tr').removeClass("warning");
$("#selectAll").prop("checked",false).removeClass("warning");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table table-bordered table-striped table-hover table-condensed">
<tr>
<th><input type="checkbox" id="selectAll"/></th>
<th>Title</th>
<th>Title</th>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Hello</td>
<td>Hello</td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Hello</td>
<td>Hello</td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Hello</td>
<td>Hello</td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Hello</td>
<td>Hello</td>
</tr>
</table>