以下是我的代码,任何人都可以告诉我哪里出错了。
<input type="checkbox" name="Chk[]" value="<?php echo($arr['id']); ?>" onClick="Click()" id="CK">// all checkboxex
<input onClick="selectall()" type="checkbox" value="yes" name="c1">// one checkbox
/*function called*/
function selectall()
{
if(document.frm.chk.value=="false")
{
document.frm.chk.value="true";
for(var i=0; i<document.frm.elements.length; i++)
{
if((document.frm.elements[i].type)=="checkbox")
{
document.frm.elements[i].checked = true;
}
}
}
else if(document.frm.chk.value=="true")
{
document.frm.chk.value="false";
for(var i=0; i<document.frm.elements.length; i++)
{
if((document.frm.elements[i].type)=="checkbox")
{
document.frm.elements[i].checked = false;
}
}
}
}
答案 0 :(得分:0)
我抓住你的代码并略微粗略地调整它并准备好但似乎工作......
<form name='frm'>
<input type="checkbox" name="chk" value="<?php echo($arr['id']); ?>" onClick="Click()" id="CK">// all checkboxex
<input onClick="selectall()" type="checkbox" value="yes" name="c1">// one checkbox
</form>
/*function called*/
<script>
function selectall()
{
if(!document.frm.chk.checked)
{
document.frm.chk.value="true";
for(var i=0; i<document.frm.elements.length; i++)
{
if((document.frm.elements[i].type)=="checkbox")
{
document.frm.elements[i].checked = true;
}
}
}
else if(document.frm.chk.checked)
{
document.frm.chk.value="false";
for(var i=0; i<document.frm.elements.length; i++)
{
if((document.frm.elements[i].type)=="checkbox")
{
document.frm.elements[i].checked = false;
}
}
}
}
</script>
现在,当点击第二个复选框时,它将检查/取消选中另一个复选框。不得不检查已检查的属性而不是值。
哦,就像@Gordon说更容易使用像Firebug这样的调试器来找出它无法正常工作的原因。假设您的表单被称为frm?
答案 1 :(得分:0)
使用document.form
而不是document.frm