checkbox三种状态

JS操作checkbox http://honeyao.iteye.com/blog/238424

翻页后保持checkbox选中状态的实现方法:在界面中,使用纯js完成。把选中的checkbox中的id,其中包括模块id,操作id,拼接成一个字符串,然后把字符串传递提交

Java代码   收藏代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3.     <head>  
  4.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5.         <title>用图片模拟checkbox三种状态,图片checkbox和checkbox的联动</title>  
  6.         <script language="javascript">  
  7.         //图片checkbox全选和全不选,控制两个checkbox的函数  
  8.         function img_cb_choose(elmId, elmCldNm) {  
  9.             var value = document.getElementById(elmId).value; //取出图片的值,通过这个值判断图片CheckBox的三个状态  
  10.             var checkbox_array = document.getElementsByName(elmCldNm); //取出checkbox数组数  
  11.             if (value == "default") { //图片checkbox 如果是默认不选,就变成全选  
  12.                 checkBoxAllStyle(elmId);  
  13.                 choose(checkbox_array, falsetrue);  
  14.             } else if (value == "all") { //图片checkbox 如果是全选,就变成不选  
  15.                 checkBoxEmptyStyle(elmId);  
  16.                 choose(checkbox_array, truefalse);  
  17.             } else if (value == "half") { //图片checkbox 如果是半选,就变成不选  
  18.                 checkBoxEmptyStyle(elmId);  
  19.                 choose(checkbox_array, truefalse);  
  20.             }  
  21.         }  
  22.   
  23.         function checkBoxAllStyle(elmId){  
  24.             document.getElementById(elmId).src = "images/iconCheckAll.gif";  
  25.             document.getElementById(elmId).value = "all";  
  26.         }  
  27.   
  28.         function checkBoxHalfStyle(elmId){  
  29.             document.getElementById(elmId).src = "images/iconCheckGray.gif";  
  30.             document.getElementById(elmId).value = "half";  
  31.         }  
  32.   
  33.         function checkBoxEmptyStyle(elmId){  
  34.             document.getElementById(elmId).src = "images/iconUnCheckAll.gif";  
  35.             document.getElementById(elmId).value = "default";  
  36.         }  
  37.   
  38.         //checkbox 控制图片checkbox  
  39.         function change(elmId, elmCldNm) {  
  40.             var checkValues = new Array();  
  41.               
  42.             var checkbox_array = document.getElementsByName(elmCldNm); //取出checkbox数组  
  43.             var str_length = 0//选择checkbox的个数  
  44.             var checkbox_length = checkbox_array.length; //数组的长度  
  45.             for (i = 0; i < checkbox_length; i++) {  
  46.                 if (checkbox_array[i].checked == true) {  
  47.                     str_length++;  
  48.                     checkValues.push(checkbox_array[i].value);  
  49.                 }  
  50.             }  
  51.             if (str_length == 0) { //默认 全选  
  52.                 checkBoxEmptyStyle(elmId);  
  53.             } else if (str_length < checkbox_length) { //半选状态,点击后变成全不选.  
  54.                 checkBoxHalfStyle(elmId);  
  55.             } else if (str_length == checkbox_length) { //全不选  
  56.                 checkBoxAllStyle(elmId);  
  57.             }  
  58.             //getCheckListInfo(checkValues, str_length);  
  59.             console.log("选中的值:"+checkValues+",选择checkbox的个数:"+str_length);  
  60.         }  
  61.   
  62.         //传入一个CheckBox,现在的状态,要改变的状态  
  63.         function choose(checkbox_array, status, new_status) {  
  64.             var checkValues = new Array();  
  65.             for (i = 0; i < checkbox_array.length; i++) { //循环所有数组  
  66.                 if (checkbox_array[i].checked == status) //现在checkbox的状态  
  67.                 {  
  68.                     if(new_status){  
  69.                         checkValues.push(checkbox_array[i].value);  
  70.                     }  
  71.                     checkbox_array[i].checked = new_status; //改变后的状态  
  72.                 }  
  73.             }  
  74.             console.log("选中的值:"+checkValues);  
  75.         }  
  76.         </script>  
  77.     </head>  
  78.     <body>  
  79.         <div id="main">  
  80.             <div id="images_checkbox">  
  81.                 <input id="img_checkbox" type="image" src="images/iconUnCheckAll.gif"  
  82.                 οnclick="img_cb_choose('img_checkbox','checkbox1');" value="default" />  
  83.             </div>  
  84.             <div>  
  85.                 <input name="checkbox1" type="checkbox" value="1" οnclick="change('img_checkbox','checkbox1');"  
  86.                 />  
  87.                 <br />  
  88.                 <input name="checkbox1" type="checkbox" value="2" οnclick="change('img_checkbox','checkbox1');"  
  89.                 />  
  90.             </div>  
  91.         </div>  
  92.     </body>  
  93. </html>  
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值