zoukankan      html  css  js  c++  java
  • jq checkbox的相关操作——全选、反选、获得所有选中的checkbox

    1、全选

    $("#btn1").click(function(){ 
    $("input[name='checkbox']").attr("checked","true"); 
    }) 

    2、取消全选(全不选)

    $("#btn2").click(function(){ 
    $("input[name='checkbox']").removeAttr("checked"); 
    }) 

    3、选中所有奇数

    $("#btn3").click(function(){ 
    $("input[name='checkbox']:odd").attr("checked","true"); 
    }) 

    4、选中所有偶数

    $("#btn6").click(function(){ 
    $("input[name='checkbox']:even").attr("checked","true"); 
    }) 

    5、反选

    $("#btn4").click(function(){ 
    $("input[name='checkbox']").each(function(){ 
    if($(this).attr("checked")) 
    { 
    $(this).removeAttr("checked"); 
    } 
    else 
    { 
    $(this).attr("checked","true"); 
    } 
    }) 
    }) 

    或者

    $("#invert").click(function(){
            $("#ruleMessage [name='delModuleID']:checkbox").each(function(i,o){
                $(o).attr("checked",!$(o).attr("checked"));
            });
        });

    6、获取选择项的值

    var aa=""; 
    $("#btn5").click(function(){ 
    $("input[name='checkbox']:checkbox:checked").each(function(){ 
    aa+=$(this).val() 
    }) 
    document.write(aa); 
    }) 
    }) 

    7、遍历选中项

    $("input[type=checkbox][checked]").each(function(){
     //由于复选框一般选中的是多个,所以可以循环输出 
     alert($(this).val()); 
    }); 

    8、例子

    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
    <title>无标题页</title> 
    <script src="js/jquery-1.6.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
    jQuery(function($){ 
    //全选 
    $("#btn1").click(function(){ 
    $("input[name='checkbox']").attr("checked","true"); 
    }) 
    //取消全选 
    $("#btn2").click(function(){ 
    $("input[name='checkbox']").removeAttr("checked"); 
    }) 
    //选中所有基数 
    $("#btn3").click(function(){ 
    $("input[name='checkbox']:even").attr("checked","true"); 
    }) 
    //选中所有偶数 
    $("#btn6").click(function(){ 
    $("input[name='checkbox']:odd").attr("checked","true"); 
    }) 
    //反选 
    $("#btn4").click(function(){ 
    $("input[name='checkbox']").each(function(){ 
    if($(this).attr("checked")) 
    { 
    $(this).removeAttr("checked"); 
    } 
    else 
    { 
    $(this).attr("checked","true"); 
    } 
    }) 
    }) 
    //或许选择项的值 
    var aa=""; 
    $("#btn5").click(function(){ 
    $("input[name='checkbox']:checkbox:checked").each(function(){ 
    aa+=$(this).val() 
    }) 
    document.write(aa); 
    }) 
    }) 
    </script> 
    </head> 
    <body> 
    <form id="form1" runat="server"> 
    <div> 
    <input type="button" id="btn1" value="全选"> 
    <input type="button" id="btn2" value="取消全选"> 
    <input type="button" id="btn3" value="选中所有奇数"> 
    <input type="button" id="btn6" value="选中所有偶数"> 
    <input type="button" id="btn4" value="反选"> 
    <input type="button" id="btn5" value="获得选中的所有值"> 
    <br> 
    <input type="checkbox" name="checkbox" value="checkbox1"> 
    checkbox1 
    <input type="checkbox" name="checkbox" value="checkbox2"> 
    checkbox2 
    <input type="checkbox" name="checkbox" value="checkbox3"> 
    checkbox3 
    <input type="checkbox" name="checkbox" value="checkbox4"> 
    checkbox4 
    <input type="checkbox" name="checkbox" value="checkbox5"> 
    checkbox5 
    <input type="checkbox" name="checkbox" value="checkbox6"> 
    checkbox6 
    <input type="checkbox" name="checkbox" value="checkbox7"> 
    checkbox7 
    <input type="checkbox" name="checkbox" value="checkbox8"> 
    checkbox8 
    </div> 
    </form> 
    </body> 
    </html> 

    JQuery实现全选功能(解决只能全选一次的问题)

    Step-1 : JS实现
    //全选、取消全选的事件  
    function selectAll(){ 
        console.log(1);
        console.log($("#checkall").prop("checked"));
        if ($("#checkall").prop("checked")) { 
            console.log(2);           
            $("input[type='checkbox'][name='checkedres']").prop("checked",true);//全选
        } else { 
            console.log(3);               
            $("input[type='checkbox'][name='checkedres']").prop("checked",false);  //取消全选     
        }  
    }  
    //子复选框的事件  
    function setSelectAll(){  
        //当没有选中某个子复选框时,SelectAll取消选中  
        if (!$("#checkedres").checked) {  
            $("#checkall").prop("checked", false);  
        }  
        var chsub = $("input[type='checkbox'][name='checkedres']").length; //获取subcheck的个数  
        var checkedsub = $("input[type='checkbox'][name='checkedres']:checked").length; //获取选中的subcheck的个数  
        if (checkedsub == chsub) {  
            $("#checkall").prop("checked", true);  
        }  
    }
    Step-2 : HTML实现
        //设置全选复选框
        <input id="checkall" name="checkall" type="checkbox" onclick="selectAll()"/>全选
        //设置子复选框
        <input id="checkedres" name="checkedres" type="checkbox" onclick="setSelectAll()"/>item 1
        <input id="checkedres" name="checkedres" type="checkbox" onclick="setSelectAll()"/>item 2
        <input id="checkedres" name="checkedres" type="checkbox" onclick="setSelectAll()"/>item 3
        <input id="checkedres" name="checkedres" type="checkbox" onclick="setSelectAll()"/>item 4
     
  • 相关阅读:
    Centos7 安装Postgres11(更改数据目录)
    将trj保存成.gpx文件方便进行地图匹配(来自徐博士的支援)
    将北京路网OSM文件导入到PostgreSQL + PostGIS 中,并利用osm2pgrouting工具+osmosis工具构建路网Graph拓扑结构
    SQL-时间-UTC-时间戳-日期-年查询在PG+PostGIS
    地理坐标系4326--投影坐标系3857/2436
    基于postgis时空查询-记录而已
    Java 接口
    单例模式
    weblogic启动一闪而过
    oracle存储过程中is和as区别
  • 原文地址:https://www.cnblogs.com/TigerZhang-home/p/6955490.html
Copyright © 2011-2022 走看看