E库技术学院--您的网络技术顾问! 网站首页素材图片库设计原稿网页模板网站赏析下载中心明星图库E库论坛  
E库技术学院
设为首页
加入收藏
我要投稿
E库首页学院首页 ┊ 图形图象 ┊ 网页设计 ┊ 网络编程 ┊ 数据库 ┊ 服务器 ┊ 建站技术 ┊ 业界新闻 ┊ 作者专栏 ┊ 常用范文 ┊ 预留栏目
  当前位置:学院首页>>网页设计教程>>网页特效教程>>三态的checkbox
三态的checkbox
[ 来源:CSDN | 作者: | 时间:2006-3-7 10:56:35 | 浏览:人次 ]
收藏到新浪ViVi收藏到365KEY收藏到我摘 ┊ 双击滚屏 单击停止
<body onload=check()>
<h3>三态的checkbox(变化顺序:未选中->灰色选中->白色选中)</h3><br>
<form name=test>
根据onclick变化的checkbox:<br>
&nbsp;<input type=checkbox name=checkbox0 flag=0 onclick="gray(this)">初始化为未选中的checkbox<br>
&nbsp;</td><td><input type=checkbox name=checkbox1 flag=1 onclick="gray(this)">初始化为白色选中的checkbox<br>
&nbsp;</td><td><input type=checkbox name=checkbox2 flag=2 onclick="gray(this)">初始化为灰色选中的checkbox<br>
根据onpropertychange变化的checkbox:<br>
&nbsp;<input type=checkbox name=checkbox3 onpropertychange="gray2(this)">初始化为未选中的checkbox
</form>
</body>
<script language=javascript>
//用于onclick,需要一个自定义属性flag.
function gray(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
function gray2(c)
{
 c.indeterminate=c.checked;
}
//用于body的onload,根据checkbox的flag属性判断checkbox的状态
function check()
{
 for(var i = 0;i<document.test.elements.length;i++)
 {
  var ele = 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;
   }
  }
 }
}
</script>
“三态的checkbox”教程到此结束==>||
 相关教程
☉暂无相关教程
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

投稿作者:  信息来源: CSDN 录入时间: 2006-3-7 10:56:35
投稿信箱: web#iecool.com
设为首页 - 加入收藏 - 关于我们 - 广告服务 - 版权申明 - 友情链接 - 联系方式 - 会员投稿
E库技术学院 © 2004-2005 Edu.IEcool.Com  浙ICP备05015070号