Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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
Jquery 为什么可以';我不能限制复选框的数量吗?_Jquery_Html_Checkbox - Fatal编程技术网

Jquery 为什么可以';我不能限制复选框的数量吗?

Jquery 为什么可以';我不能限制复选框的数量吗?,jquery,html,checkbox,Jquery,Html,Checkbox,我有4个复选框,我想限制选择最多3个。我在谷歌上搜索了一下,找到了一个有用的: 这是我的代码: <html> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> var limit = 3; $('input.ko_chk').on('change', function(evt)

我有4个复选框,我想限制选择最多3个。我在谷歌上搜索了一下,找到了一个有用的:

这是我的代码:

<html>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
        var limit = 3;
        $('input.ko_chk').on('change', function(evt) {
           if($(this).siblings(':checked').length >= limit) {
               this.checked = false;
           }
        });
    </script>
    <body>
        <input type="checkbox" class="ko_chk" name="first" value="1"><br>
        <input type="checkbox" class="ko_chk" name="second" value="2"><br>
        <input type="checkbox" class="ko_chk" name="third" value="3"><br>
        <input type="checkbox" class="ko_chk" name="fourth" value="4">
    </body>
</html>

var限值=3;
$('input.ko_chk')。on('change',function(evt){
if($(this).sides(':checked')。长度>=限制){
此项检查=错误;
}
});



还是


那么,我的代码有什么不同呢?

您只需要将jQuery脚本设置为自己的标记,并将脚本放在您想要选择的标记之后




var限值=3; $('input.ko_chk')。on('change',function(evt){ if($(this).sides(':checked')。长度>=限制){ 此项检查=错误; } });
如果包含jQuery标记,则代码已按预期工作。你的代码根本不运行。你必须为jQuery和你自己的代码有一个单独的脚本标签。在你修复了这个标签之后,问题是:我完全没有注意到这个脚本在jQuery脚本include中,哈哈。man…在执行
$('input.ko_chk')
时,DOM还没有准备好,因此选择器不会对任何元素进行微调。@t.niese——很好,已修复。此外,我还将其转换为社区Wiki。请随意修理其他东西。