zoukankan      html  css  js  c++  java
  • jquery checkbox反复调用attr('checked', true/false)只有第一次生效


     
    1. /** 
    2.   * 全选 
    3.   */  
    4.  function checkAll() {  
    5.      $("input[name=ids]").attr("checked", true);  
    6.  }  
    7.   
    8.  /** 
    9.   * 全不选 
    10.   */  
    11.  function uncheckAll() {  
    12.      $("input[name=ids]").attr("checked", false);  
    13.  }  

    问题描述:

    初始状态复选框没有全选,

    点击全选按钮调用checkAll方法,

    实现了全选,

    然后点击全不选按钮,

    实现了全不选,

    然后再次点击全选按钮,

    结果却木有全选,

    再反复点击木有任何反应。

    google之:

    把使用prop方法代替attr方法,


     
    1. /** 
    2.  * 全选 
    3.  */  
    4. function checkAll() {  
    5.     $("input[name=ids]").prop("checked", true);  
    6. }  

    成功了。

    prop()获取匹配的元素的属性值。
    这个方法是jquery1.6以后出来的,用来区别之前的.attr()方法.

    区别最大的一点就是:布尔型的属性,1.6以后都是用.prop()方法就好了。
    这个布尔型的属性,再解释一下,是属性值只有true|false的属性。
    还有种情况就是只添加属性名,不需要写属性值的就可以生效的也同样使用.prop()方法。比如:checked、disable这样的,其实它们说到底还是属于布尔型的属性。

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

  • 相关阅读:
    第三章:Hadoop简介及配置Hadoop-1.2.1,hbase-0.94.13集群
    maven环境的搭建,lemon-OA办公系统的搭建
    如何打开mo文件并修改 PoEdit
    安装Elastix-2.4版本
    RabbitMQ安装
    Yum编译安装Error Downloading Packages报错
    linux:ping不通www.baidu.com
    tar命令解压缩出错
    PV、UV
    使用存储过程创建数据
  • 原文地址:https://www.cnblogs.com/yuanlaihenkuang/p/7675437.html
Copyright © 2011-2022 走看看