Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript li标记jquery中使用的复选框_Javascript_Jquery_Html_Css_Checkbox - Fatal编程技术网

Javascript li标记jquery中使用的复选框

Javascript li标记jquery中使用的复选框,javascript,jquery,html,css,checkbox,Javascript,Jquery,Html,Css,Checkbox,我想单击一个列表项,并选中该列表项中的所有复选框,如果我单击另一个列表项(充当无线电系统),则取消选中该复选框。我该怎么做?以下是我当前的代码: jQueryfunction${ }; .btn{ 背景颜色:灰色; 字体大小:15px; 字体大小:粗体; 字体系列:无衬线; 边框:1px纯黑; 身高:20%; } jQueryfunction${ $li.clickfunction{ $li.eachfunctionindex,项目{ $item.css{ 背景颜色:灰色 }; }; $th

我想单击一个列表项,并选中该列表项中的所有复选框,如果我单击另一个列表项(充当无线电系统),则取消选中该复选框。我该怎么做?以下是我当前的代码:

jQueryfunction${ }; .btn{ 背景颜色:灰色; 字体大小:15px; 字体大小:粗体; 字体系列:无衬线; 边框:1px纯黑; 身高:20%; } jQueryfunction${ $li.clickfunction{ $li.eachfunctionindex,项目{ $item.css{ 背景颜色:灰色 }; }; $this.css{ 背景颜色:红色 }; $。选中一个。每个功能索引,项目{ $item.prop'checked',false; } $this.find.check_one.eachfunctionindex,item{ $item.prop'checked',true; }; }; }; .btn{ 背景颜色:灰色; 字体大小:15px; 字体大小:粗体; 字体系列:无衬线; 边框:1px纯黑; 身高:20%; } 你可以这样试试

jQueryfunction${ $'li.checkall'。单击,函数{ $。勾选一个。属性为“勾选”,为假; $this.find'。选中一个。每个函数{ $this.prop'checked',true; }; }; }; .btn{ 背景颜色:灰色; 字体大小:15px; 字体大小:粗体; 字体系列:无衬线; 边框:1px纯黑; 身高:20%; }
基本思想是,您可以监听li元素上的单击,并在单击时选中其中的每个复选框,然后取消选中所有不在li元素中的复选框。下面是示例代码

$function{ var$li=$'li.checkall'; var$checkbox=$li.find'input[type=checkbox]; $'li.checkall'。单击函数E{ 如果e.target!==此返回; var$this=$this; $checkboxes.prop'checked',false; $this.find'input[type=checkbox]'。prop'checked',true; } } .btn{ 背景颜色:灰色; 字体大小:15px; 字体大小:粗体; 字体系列:无衬线; 边框:1px纯黑; 身高:20%; } 简明扼要:

  $('input[type=checkbox]').on('click',function(event){
        $('input').prop('checked', false);
        $(event.target).parent().children().prop('checked', true);
    })

你是说这样的事吗

jQueryfunction${ $li.单击函数{ 如果e.target!==此返回; $li输入。属性“已检查”,错误; $this.findinput.prop'checked',true; } }; .btn{ 背景颜色:灰色; 字体大小:15px; 字体大小:粗体; 字体系列:无衬线; 边框:1px纯黑; 身高:20%; }
试试这个。正是你的情况:

<ul>
        <li class="btn checkall">
            <input type="checkbox" name="offer[key1]" class="check_one">
            <input type="checkbox" name="offer[key2]" class="check_one">
            <input type="checkbox" name="offer[key3]" class="check_one">
            <input type="checkbox" name="offer[key4]" class="check_one">
        </li>
        <li class="btn checkall">
            <input type="checkbox" name="offer[key1]" class="check_one">
            <input type="checkbox" name="offer[key2]" class="check_one">
            <input type="checkbox" name="offer[key3]" class="check_one">
            <input type="checkbox" name="offer[key4]" class="check_one">
        </li>
        <li class="btn checkall">
            <input type="checkbox" name="offer[key1]" class="check_one">
            <input type="checkbox" name="offer[key2]" class="check_one">
            <input type="checkbox" name="offer[key3]" class="check_one">
            <input type="checkbox" name="offer[key4]" class="check_one">
        </li>
      <li class="btn checkall">
            <input type="checkbox" name="offer[key1]" class="check_one">
            <input type="checkbox" name="offer[key2]" class="check_one">
            <input type="checkbox" name="offer[key3]" class="check_one">
            <input type="checkbox" name="offer[key4]" class="check_one">
        </li>
    </ul>
jQueryfunction${ $document.on'click',li',函数{ //console.log$this.find'.check_one'; $。勾选一个。属性为“勾选”,为假 $this.children'.check_one'.prop'checked',true; }; }; .btn{ 背景颜色:灰色; 字体大小:15px; 字体大小:粗体; 字体系列:无衬线; 边框:1px纯黑; 身高:20%; }
为什么不直接使用无线电输入。。。?默认情况下,您会得到这种行为。而且,您似乎没有试图自己解决这个问题,所以这只是“为我编写代码”request@RoryMcCrossan我认为OP希望单击li中的所有复选框,同时取消选择其他li元素中的所有其他复选框。。如果使用单选按钮,则一次只能有一个处于活动状态o,是否要确保在li中任何时候都只选中一个复选框?如果这是您的要求,请重新表述您的第一段。我希望在单击li时选中li中的所有复选框,“所有”复选框处于选中状态,但我单击了“其他li”,然后“prevision li”复选框处于未选中状态,这是“选中所有”复选框。我认为OP想要实现的是,在li元素中分组的复选框立即被激活。li元素或其中的任何复选框被单击/激活。以这种方式激活另一个组将禁用其他组中的所有复选框。我对这个问题的解释正确吗,@traini qula?谢谢朋友们,它可以工作了……但是如果我也想改变背景色。例如,我单击“li”,然后在“li”上添加红色,与“checbox”相同。单击“其他li”后,则删除“Prevision li red”,并选中“li”以红色覆盖
 $('.checkall').click(function() {
    $('.checkall').find('.check_one').prop('checked', false);
    $(this).find('.check_one').prop('checked', true);
 });