Javascript 选择/取消选择所有不适用于单个记录
我有一个javascipt,如下所示:Javascript 选择/取消选择所有不适用于单个记录,javascript,html,jsp,Javascript,Html,Jsp,我有一个javascipt,如下所示: if(document.forms[0].Check_All.value=="Select All"){ for (i = 0; i < chk.length; i++){ chk[i].checked = true ; document.forms[0].Check_All.value="DeSelect All"; } }else{ for (i =
if(document.forms[0].Check_All.value=="Select All"){
for (i = 0; i < chk.length; i++){
chk[i].checked = true ;
document.forms[0].Check_All.value="DeSelect All";
}
}else{
for (i = 0; i < chk.length; i++){
chk[i].checked = false ;
document.forms[0].Check_All.value="Select All";
}
}
if(document.forms[0]。全选。值==“全选”){
对于(i=0;i
它用于选择和取消选择复选框。当chk.length=2及以上时,它工作正常。然而,当我只有1条记录时,chk.length是未定义的,它不起作用。猜猜原因是什么?发生这种情况的原因是,当只有具有指定名称的on表单元素时,您可以直接访问该元素,而对于具有相同名称的更多元素,您可以获得一个集合 在这种简单的情况下,你可以通过以下方法来解决这个问题
if(chk.length == undefined) {
chk = new Array(chk);
}
如果之前不是一个集合,那么之后的
chk
将是一个数组–其行为类似于一个集合,至少可以访问它的length属性并使用数字索引访问它的(一)个元素。可以使用JQuery函数选中所有复选框
$("input :checkbox").each(function(){
$(this).prop('checked', true);
});