js怎么实现对复选框的事件,如果先选中全选后,点击取消其中一个没有选中,全选的勾也消失,怎么做

现在我的问题是点击全选后我再取消数学,全选的勾不能去掉,怎么才可以去掉全选勾functionall2(){varflag=document.getElementById(... 现在我的问题是点击全选后我再取消数学,全选的勾不能去掉,怎么才可以去掉全选勾function all2() { var flag = document.getElementById("quanxuan").checked; var all2 = document.getElementsByName("chb"); if (flag == true) { for (var i = 0; i <= all2.length; i++) { all2[i].checked = true; } } else { for (var i = 0; i <= all2.length; i++) { all2[i].checked = false; } } }<body> <input type="checkbox" id="quanxuan" onclick="all2();" />全选 <input type="checkbox" name="chb" id="yw" value="语文" />语文 <input type="checkbox" name="chb" id="shx" value="数学" />数学 <input type="checkbox" name="chb" id="yy" value="英语" />英语 <input type="checkbox" name="chb" id="zhzh" value="政治" />政治 <input type="checkbox" name="chb" id="hx" value="化学" />化学 </body> 展开
 我来答
阳阳89IT
2016-11-21 · TA获得超过374个赞
知道小有建树答主
回答量:602
采纳率:80%
帮助的人:143万
展开全部
$('.chb').bind('click', function () {

if ($(this).prop("checked") != true) {
if ($("#quanxuan").prop("checked") == true) {
$("#quanxuan").prop('checked', false);
}
}
else {
//判断当页每一行的checkbox 是否被选中
CheckBoxCheckedALL();
}
});

function CheckBoxCheckedALL()
{
var n = 0;
var che = true;//标示位
//获取所有的checkbox
var items = $('input[class="chb"]');
for (var i = 0; i < items.length; i++) {
if (!items[i].checked) {
che = false;
return;
}
n++;
}
if (che) {
$("#quanxuan").prop('checked', true);
}
}
更多追问追答
追问
不行。我上面的代码怎么改
追答
我的是JQuery
function all2() {
var flag = document.getElementById("quanxuan").checked;
var all2 = document.getElementsByName("chb");

for (var i = 0; i <= all2.length; i++) {
all2[i].checked = this.checked;
}
}
var t=document.getElementByName("chb");
t.onclick = function tst(){
//在这里面操作

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式