(仅IE下有效)关于checkbox 三态

时间:2021-05-28

From:http:///doc/Html/WEB/105537297.html
复制代码 代码如下:
<body>
<h3>三态的checkbox(变化顺序:未选中->灰色选中->白色选中)</h3><br>
<formname=test>
根据onclick变化的checkbox:<br>
&nbsp;<inputtype=checkboxname=checkbox0flag=0onclick='gray(this)'>初始化为未选中的checkbox<br>
&nbsp;</td><td><inputtype=checkboxname=checkbox1flag=1onclick='gray(this)'>初始化为白色选中的checkbox<br>
&nbsp;</td><td><inputtype=checkboxname=checkbox2flag=2onclick='gray(this)'>初始化为灰色选中的checkbox<br>
根据onpropertychange变化的checkbox:<br>
&nbsp;<inputtype=checkboxname=checkbox3onpropertychange='gray2(this)'>初始化为未选中的checkbox
</form>
<scriptlanguage=javascript>
//用于onclick,需要一个自定义属性flag.
functiongray(c)
{
switch(c.flag)
{
//当flag为0时,为未选中状态
case'0':c.checked=true;c.indeterminate=true;c.flag='2';break;
//当flag未1时,为白色选中状态
case'2':c.checked=true;c.indeterminate=false;c.flag='1';break;
//当flag为2时,为灰色选中状态
case'1':c.checked=false;c.indeterminate=false;c.flag='0';break;
}
}
//用于onpropertychange
functiongray2(c)
{
c.indeterminate=c.checked;
}
//用于body的onload,根据checkbox的flag属性判断checkbox的状态
functioncheck()
{
for(vari=0;i<document.test.elements.length;i++)
{
varele=document.test.elements[i];
if(ele.flag!=null)
{
if(ele.flag=='0')
{
ele.checked=false;
ele.indeterminate=false;
}
if(ele.flag=='1')
{
ele.checked=true;
ele.indeterminate=false;
}
if(ele.flag=='2')
{
ele.checked=true;
ele.indeterminate=true;
}
}
}
}
window.onload=check;
</script>



声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章