zoukankan      html  css  js  c++  java
  • input[type=checkbox]

      一个问题,今天用jquery-1.11.3.min.js时遇到的关于input复选框的问题。

    类似于以下代码:

    <ul class="demo">
        <li><label ><input type="checkbox"/>首页</label></li>
        <li><label ><input type="checkbox"/>关于</label></li>
        <li><label ><input type="checkbox"/>产品</label></li>
    </ul>

    需要实现,点击li,判断复选框是否选中,如果选中的话,取消选中,如果未选中,则选中,在1.11.3的版本中,使用

    $('.demo').on('click', 'li label', function(ev){

      var isChecked = $(this).find('input').is(':checked');

      if(!isChecked){

        $(this).find('input').attr('checked', true);

      }else{

        $(this).find('input').attr('checked', false);

      }

      ev.preventDefault();

    });

      在第一次未选中时,点击,可以选中,再次点击,取消选中,再次点击时,从开发者工具中显示,再次被选中,但是页面中复选框的对勾并未勾上,后改为1.8.3版本,完全可以实现。而且是在IE8上面也没问题,只有chrome和opera浏览器上(只测试了这两款浏览器),反复试验依然无法取得正确结果,也未能找到原因。

      后经qq群朋友解答,使用prop函数替代attr,完美实现需要的效果,但是依然不解attr导致的问题的根源在哪?

  • 相关阅读:
    iOS 自动续期订阅 恢复购买
    iOS内购恢复购买
    iOS内购自动续订
    iOS苹果内购服务端技术方案
    Spring4.x体系架构
    Linux下MySQL主从复制(Binlog)的部署过程
    Linux下MySQL多实例部署记录
    Linux下MySQL基础及操作语法
    Linux下Nginx基础应用
    Linux下Apache(HTTP)基础知识梳理-运维笔记
  • 原文地址:https://www.cnblogs.com/zhuhuoxingguang/p/5774463.html
Copyright © 2011-2022 走看看