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导致的问题的根源在哪?

  • 相关阅读:
    HDU 4508
    HDU 4503
    HDU 4532
    HDU 4544
    HDU 3167 KMP
    HDU 4542
    HDU 4528
    【70】自然语言处理与词嵌入
    【69】循环神经网络
    【68】一维和三维卷积
  • 原文地址:https://www.cnblogs.com/zhuhuoxingguang/p/5774463.html
Copyright © 2011-2022 走看看