Javascript:主复选框,用于控制表列中的所有复选框
Javascript: master checkbox to control all checkboxes in a table column
我有5个复选框。其中之一是所有复选框的标题。如果我选中标题复选框,则所有内容都应自动选中,如果我取消选中它,则所有内容都应取消选中。如果我取消选中任何子复选框,标题应自动取消选中。
我的代码是这样的:
<html>
<SCRIPT LANGUAGE="JavaScript">
function checkAll()
{
if(pp_checkall.checked==true)
{
for (i = 1; i <= pp_check.length; i++)
pp_check[i].checked = true ;
}
else
{
for (i = 1; i <= pp_check.length; i++)
pp_check[i].checked = false ;
}
}
</script>
<SCRIPT LANGUAGE="JavaScript">
function checkOne()
{
for (i = 1; i <= pp_check.length; i++)
{
if(pp_check[i].checked==false)
{
pp_checkall.checked = false ;
}
}
}
</script>
<body>
<table>
<tr><th width="1px"><input type="checkbox" text="Dharan" name="pp_checkall" onclick="checkAll();"></th></tr>
<tr>
</tr>
<tr> <input type="checkbox" name="pp_check" value="1" onclick="checkOne();"></tr>
<!--<tr> <input type="checkbox" name="pp_check" value="2" onclick="checkOne();"></tr>
<tr> <input type="checkbox" name="pp_check" value="3" onclick="checkOne();"></tr>
<tr> <input type="checkbox" name="pp_check" value="4" onclick="checkOne();"></tr> -->
</table>
</body>
</html>
它工作正常,但在某些情况下只会出现一个<td>
复选框,这会阻止代码工作。请给出一些解决方案来解决这个问题。
试试这个
<script type="text/javascript" language="javascript">
var pp_check = document.getElementsByName('pp_check');
var pp_checkall = document.getElementsByName('pp_checkall')[0];
function checkAll() {
if (pp_checkall.checked == true) {
for (i = 0; i < pp_check.length; i++)
pp_check[i].checked = true;
}
else {
for (i = 0; i < pp_check.length; i++)
pp_check[i].checked = false;
}
}
function checkOne() {
var pp_check = document.getElementsByName('pp_check');
for (i = 0; i < pp_check.length; i++) {
if (pp_check[i].checked == false)
pp_checkall.checked = false;
}
}
</script>
你可以使用 jQuery 来实现相同的目的。
$('input[name="pp_checkall"]').change(function () {
$('input[name=pp_check]').attr('checked', this.checked);
});
$('input[name="pp_check"]').change(function () {
$('input[name="pp_checkall"]').prop(
'checked',
$('input[name=pp_check]:not(:checked)').length === 0 ? true : false
);
});
演示:http://jsfiddle.net/gPeh8/1/
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 用于控制单选按钮的复选框
- Javascript:主复选框,用于控制表列中的所有复选框
- 控制复选框的下拉列表
- 如何使用 mvc 控制客户端上的复选框值
- 路由加载时运行成员控制器函数以设置控制复选框的属性
- 控制HTML中的复选框
- 使用ajax控制复选框操作
- Javascript不能在Chrome或IE9中工作-错误”;复选框未定义“;显示在FF JS控制台中
- js复选框用于控制输入字段的启用/禁用状态
- 将复选框/选择和输入的控制功能合并为一个
- 使用复选框控制输入.value(有一个令人讨厌的转折)
- 在JQuery Mobile中动态控制多个复选框
- jquery从另一个复选框控制一个复选复选框
- 复选框控制Radio Checked/Unchecked
- 控制文本框禁用或自述行为与复选框
- 由父表单元格控制的复选框