zoukankan      html  css  js  c++  java
  • checkBox全选全不选及数据提交后台

      1 <!DOCTYPE html>
      2 <html>
      3 
      4     <head>
      5         <meta charset="utf-8" />
      6         <title></title>
      7     </head>
      8     <script type="text/javascript" src="js/jquery-1.8.0.js"></script>
      9 
     10     <body>
     11         <div id="d1">
     12             <input type="checkbox" id="checkAll" onclick="checkAll()"/>全选
     13             <hr />
     14         </div>
     15         <div id="d2">
     16             <input type="checkbox"  class="subCheck" onchange="cancel(this)" value="1"/> 选项1
     17             <br />
     18             <input type="checkbox"  class="subCheck" onchange="cancel(this)" value="2"/> 选项2
     19             <br />
     20             <input type="checkbox"  class="subCheck" onchange="cancel(this)" value="3"/> 选项3
     21         </div>
     22         
     23         <div id="d3">
     24             <input type="button" value="确定" onclick="mySubmit()"/>
     25             
     26         </div>
     27         <hr />
     28         <!-- 下面是用纯动态方式生成标签 -->
     29         <div id="d4">
     30             生成a标签
     31         </div>
     32         
     33         <div id="d5">
     34             <input type="button" value="生成a标签" id="btn2"/>
     35             
     36         </div>
     37     </body>
     38     <script>
     39         $(function(){
     40             $('#btn2').bind('click', function(event) {
     41                 /* 在添加标签的同时给添加的标签绑定点击事件 */
     42                 $("<li>Hello</li>").appendTo("#d4").bind('click', function(event) {
     43                   /* 显示标签的内容 */
     44                   console.log($(this).text()); 
     45                 });
     46               });
     47               
     48               
     49         })
     50         
     51         function checkAll(){ ///实现全选和全不选功能
     52             var allchecked  = $("#checkAll")[0].checked;
     53             var checkboxs = $(".subCheck");
     54             $.each(checkboxs,function(index,item){
     55                 item.checked = allchecked;
     56             })
     57         }
     58         
     59         function cancel(){ ///实现取消任意一个子选项选中时,自动去掉全选的选中状态
     60             if(!this.checked){
     61                 $("#checkAll")[0].checked = false;
     62             }
     63         }
     64         
     65         ///提交方法
     66         function mySubmit(){
     67             //获取所有选中的复选框对象
     68             var checkeds = $(".subCheck:checked");  ///从class为subCheck的元素中选择被勾选的
     69 //            var checkeds = $(".subCheck :checked");  ///注意:这样写是错的,空格代表后代元素,
     70 //这句话的意思是从class为subCheck的元素的子元素【准确说,这里是 后代元素】中选择被勾选的,所以结果是错的
     71 //            var checkeds = $("#d2 :checked"); ///这样写也可以
     72             
     73             if(checkeds.length==0){
     74                 alert("请选择复选框!");
     75                 return;
     76             }
     77             var checkedId = "";
     78             for(var i=0;i<checkeds.length;i++){
     79                 var id = checkeds[i].value;
     80                 checkedId+=id+",";
     81             }
     82             checkedId = checkedId.substring(0,checkedId.length-1);//去掉最后的逗号,
     83             var  data = "";
     84             data += "&checkedIds="+checkedId;
     85             alert("data: "+data);
     86             /*  下面可以写 ajax 方法请求后台
     87              $.ajax({
     88                 url:"",
     89                 data:data,
     90                 async:true
     91                 success:function(response){
     92                     
     93                 }
     94             });*/
     95         }
     96         
     97         ///动态拼接标签  下面是伪代码仅供思路参考
     98         function add(){
     99             //ajax 请求来的list集合中的数据
    100             var list = "";
    101             var str = "";
    102             if(list){  //如果list有值不为null啊 undefined啥的
    103                 for(var i=0;i<list.length;i++){  ///当然,用其他的各种遍历方式也都可以
    104                     var unit = list[i];
    105                     str="<input type='checkbox'  class='subCheck' onchange='cancel(this)' value='"+unit.id+"/> 选项3";
    106                     $("#d2").append(str);
    107                 }
    108             }
    109         }
    110         
    111     </script>
    112 
    113 </html>
    114 <!--
    115     注意:如果子选项都是js自动生成的,那么建议在拼接时就像上面那样把onchange方法拼接上去,否则如果用bind方法绑定
    116     绑定click事件,有时会无效,原因暂时还不清楚。
    117     
    118     然后发完请求后,springMVC Controler中可以直接用一个字符串 String checkedIds 作为参数接收这个值。
    119     然后再用split(“,”)切割再处理即可。
    120     
    121     如果要动态拼接复选框,可以参考上面 add方法
    122 -->
  • 相关阅读:
    译:DOM2中的高级事件处理(转)
    Cookbook of QUnit
    URI编码解码和base64
    css截断长文本显示
    内置对象,原生对象和宿主对象
    HTML中的meta(转载)
    iframe编程的一些问题
    自动补全搜索实现
    new的探究
    深入instanceof
  • 原文地址:https://www.cnblogs.com/libin6505/p/7307511.html
Copyright © 2011-2022 走看看