zoukankan      html  css  js  c++  java
  • 使用Jquery1.9 版本 来实现全选

      

      在使用Jquery实现全选以及反选的时候, 使用attr()实现的时候,在浏览器第一次运行可以全选,但是第二次再全选,不管用。

     通过查找资料,用 prop()方法代替attr()方法就行了。

     注意:  

           Jquery 1.6之后,可以通过attr方法去获得属性,通过prop方法去获得特性.

          在遇到要获取或设置checked,selected,readonly和disabled等属性时,用prop方法.

    jquery1.6中新加了一个方法prop(),官方解释只有一句话:获取在匹配的元素集中的第一个元素的属性值。

    大家都知道有的浏览器只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked",比如用attr("checked")获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是undefined。

    jq提供新的方法“prop”来获取这些属性,就是来解决这个问题的,以前我们使用attr获取checked属性时返回"checked"和"",现在使用prop方法获取属性则统一返回true和false。

    那么,什么时候使用attr(),什么时候使用prop()?
    1.添加属性名称该属性就会生效应该使用prop();
    2.是有true,false两个属性使用prop();
    3.其他则使用attr();

    以下是官方建议attr(),prop()的使用:

    Attribute/Property.attr().prop()
    accesskey  
    align  
    async
    autofocus
    checked
    class  
    contenteditable  
    draggable  
    href  
    id  
    label  
    location ( i.e. window.location )
    multiple
    readOnly
    rel  
    selected
    src  
    tabindex  
    title  
    type  
    width ( if needed over .width() )  

    以下是实现全选以及反选的Html代码,要引用Jquery脚本。Jquery1.6以上都行

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="jquery-1.9.1.js"></script>
    </head>
    <body>
    <input type="checkbox" value="全选" id="cbAll" name="cbArea">全选<br/>
    <input type="checkbox" value="洛龙区" name="a">洛龙区
    <input type="checkbox" value="涧西区" name="a">涧西区
    <input type="checkbox" value="吉利区" name="a">吉利区
    <input type="checkbox" value="西工区" name="a">西工区
    <input type="checkbox" value="宜阳县" name="a">宜阳县
    <input type="checkbox" value="老城区" name="a">老城区
    <input type="checkbox" value="回族区" name="a">回族区
    <input type="checkbox" value="偃师" name="a">偃师
    <input type="checkbox" value="哈哈区" name="a">哈哈区
    <input type="checkbox" value="洛宁区" name="a">洛宁区
    
    </body>
    </html>
    
    
    <script type="text/javascript">
        $(function () {
            $("#cbAll").click(function () {
                if($("#cbAll").is(":checked")) {
                    $(":checkbox").prop("checked",true);
                }
                else {
                    $(":checkbox").prop("checked", false);
                }
    
            });
    
            $(":checkbox").click(function () {
                if (!$(this).is(":checked")) {
                    $("#cbAll").prop("checked", false);
                }
    
            });
        })
    </script>
  • 相关阅读:
    C# 遍历类字段 及 字段值
    u8 采购到货单中的 业务类型 没有表字典,是系统预置 存入表也是文字: 普通采购 固定资产
    win7 X64 OLEDB读取EXCEL提示“未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序”
    关于 C# select 读取 Excel 数据 为空,或成科学计数法解决方案
    如何设置C#程序在Windows 7 Vista下以管理员权限运行
    C# OLE DB 的连接方式下 对 sql 参数的操作 需要改成 ? 号
    NHibernate (一) 五部曲
    做优秀产品经理
    Python Test in Hudson
    [转载]Openstack Essex安装文档资料
  • 原文地址:https://www.cnblogs.com/luoyangcn/p/3871519.html
Copyright © 2011-2022 走看看