input checkbox问题和li里面包含checkbox

<input type="checkbox" id="checkbox1"/>

$("input#checkbox1").click(function() {
console.log($(this).attr(‘checked‘));
console.log($(this).prop("checked"));
});

点击checkbox输出:

undefined

true

再次点击。

undefined

false

说明如果没有设置checked,我们就不要用attr("checked")这个属性。

注意:input和#checkbox1中间不要有空格,有空格的话就表示后代了。

我们经常需要li或span包含一个checkbox,不管点击checkbox或li都会触发相应的事件,如背景色变色。

<ul>
    <li><input type="checkbox" name="" id=""/>li1</li>
    <li><input type="checkbox" name="" id=""/>li2</li>
    <li><input type="checkbox" name="" id=""/>li3</li>
    <li><input type="checkbox" name="" id=""/>li4</li>
</ul>

js如下:

$("ul li").click(function(){
        var $input=$(this).find("input");
        if($input.prop("checked"))
        {
            $input.prop("checked",false);
            $(this).css("background-color","");
        }
        else
        {
            $input.prop("checked",true);
            $(this).css("background","red");
        }
    });

点击li可以,为什么点击checkbox不行。原因在于你勾选后,input.prop("checked")就为真了,这时就又取消掉了。导致你勾选不上。

这么做也不行:

  $("ul li").click(function(){
        var $input=$(this).find("input");
        var count=1;

        if(count%2==0)
        {
            $input.prop("checked",false);
            $(this).css("background-color","");

        }
        else
        {
            $input.prop("checked",true);
            $(this).css("background","red");

        }
        count++;
    });

因为每次点击count都重新赋值。

这里可以用each来在每个li函数定义之前加count:

 $("ul li").each(function(){
        var count=1;
        $(this).click(function(){
            var $input=$(this).find("input");
            if(count%2==0)
            {
                $input.prop("checked",false);
                $(this).css("background-color","");

            }
            else
            {
                $input.prop("checked",true);
                $(this).css("background","red");

            }
            count++;
        });
    });

input checkbox问题和li里面包含checkbox

时间: 2024-08-28 19:16:51

input checkbox问题和li里面包含checkbox的相关文章

ListView的Item中包含checkbox,Item无法点击的3种解决方案

ListView的Item中包含checkbox,Item无法点击的2种解决方案 1.在checkbox中设置`focusable属性 android:focusable="false" 2.设置Item的布局,焦点不向下传递 android:descendantFocusability="blocksDescendants"

[WPF 自定义控件]创建包含CheckBox的ListBoxItem

原文:[WPF 自定义控件]创建包含CheckBox的ListBoxItem 1. 前言# Xceed wpftoolkit提供了一个CheckListBox,效果如下: 不过它用起来不怎么样,与其这样还不如参考UWP的ListView实现,而且动画效果也很好看: 它的样式如下: Copy <ListViewItemPresenter ContentTransitions="{TemplateBinding ContentTransitions}" x:Name="Ro

Android中ListView包含CheckBox时滑动丢失选中状态的解决

保存状态的方式有很多,我推荐使用的一种方式 ListView  中 每个条目你一般都是用一个实体类写数据的 在你的实体类中加一条 public boolean ischecked = false; 然后 适配器中写 final MEntity entity = (MEntity) getItem(position); holder.checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override publi

js做全选,用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false

用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false,当所有checkbox都被选中时,全选按钮也被选中. 详解: 有两种方式使<input type="checkbox" />中的复选框被选中. 方法一:直接在HTML行间中添加checked属性.   eg:<input type="checkbox" checked /> 方法二:使用javascript使in

freemarker中修改和添加功能中包含checkbox复选框默认选中需求的解决方式

今天做的公司ERP系统上线第一天内部使用的,各种BUG铺天盖地,[虽然只是技术总监一个人在测试……],其中有一个就是其中部门管理页面中的修改和添加功能 一个人做一套ERP总是有点疏漏的,虽然里面的东西大部分都是CRUD,不过作为一个菜鸟感觉还是压力山大,废话不说了开始上代码: 首先在后台Controller中添加数据处理,因为之前已经实现了显示所有复选框的选项功能了,所以这次只需要得出需要默认选中的数据,然后发到页面进行处理: 虽然代码只有这么一点,不过也耗费了好几个小时来弄出来了... 这是修

在ASP.NET MVC中验证checkbox 必须选中 (Validation of required checkbox in Asp.Net MVC)

转载自 http://blog.degree.no/2012/03/validation-of-required-checkbox-in-asp-net-mvc/ Why would you want to have a required checkbox, i.e. a checkbox that user would have to check? Well, a typical example would be that you have some sort of terms associa

在Servlet端获取html页面选中的checkbox值,request获取页面checkbox(复选框)值

html端代码: 适用人群: <input type="checkbox" name="crowd" value="幼儿">幼儿 <input type="checkbox" name="crowd" value="青少年">青少年 <input type="checkbox" name="crowd" value=&

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"/>关于</

jQuery 操作 input 之 checkbox

jQuery 操作 input 之 checkbox 一片 HTML 清单: <input type="checkbox" name="hobby" value="棒球"> 棒球 <input type="checkbox" name="hobby" value="乒乓球"> 乒乓球 <input type="checkbox" name