Jquery 限制默认复选框

Jquery 限制默认复选框,jquery,checkbox,each,Jquery,Checkbox,Each,关于如何限制默认复选框,我有问题。 例如,我有7个复选框。我想在页面加载后用3个默认复选框来限制它 this should be the output: Checkbox1 : true Checkbox2 : true Checkbox3 : true Checkbox4 : false Checkbox5 : false Checkbox6 : false Checkbox7 : false 以下是我的示例代码: var mvp = 3; $(document).ready(functi

关于如何限制默认复选框,我有问题。 例如,我有7个复选框。我想在页面加载后用3个默认复选框来限制它

this should be the output:

Checkbox1 : true
Checkbox2 : true
Checkbox3 : true
Checkbox4 : false
Checkbox5 : false
Checkbox6 : false
Checkbox7 : false
以下是我的示例代码:

var mvp = 3;
$(document).ready(function() {
$("input:checkbox").each(function( index ) {
    ($this).attr("checked",true);
});

});
我有这个想法,我不知道我会把我的计数器(mvp)放在我的每个函数中的什么地方。在这段代码中,我的所有复选框都被选中:D


抱歉,有一个新手问题,请帮助我。

实际上不需要计数器,因为
每个
函数都将在索引中传递。只需使用索引作为计数器

$(document).ready(function() {
    $("input:checkbox").each(function( index ) {
           this.checked = (index < 3);
    });
});
$(文档).ready(函数(){
$(“输入:复选框”)。每个(函数(索引){
此项检查=(指数<3);
});
});

JS Fiddle:

实际上不需要计数器,因为
每个
函数都将在索引中传递。只需使用索引作为计数器

$(document).ready(function() {
    $("input:checkbox").each(function( index ) {
           this.checked = (index < 3);
    });
});
$(文档).ready(函数(){
$(“输入:复选框”)。每个(函数(索引){
此项检查=(指数<3);
});
});

JS Fiddle:

不要使用Javascript设置页面的默认状态,请使用HTML“checked”属性

<form action="demo_form.asp">
  <input type="checkbox" name="vehicle" value="Bike"> I have a bike<br>
  <input type="checkbox" name="vehicle" value="Car" checked> I have a car<br>
  <input type="submit" value="Submit">
</form>

我有一辆自行车
我有一辆车

在本例中,将选中car复选框。

不要使用Javascript设置页面的默认状态,请使用HTML“checked”属性

<form action="demo_form.asp">
  <input type="checkbox" name="vehicle" value="Bike"> I have a bike<br>
  <input type="checkbox" name="vehicle" value="Car" checked> I have a car<br>
  <input type="submit" value="Submit">
</form>

我有一辆自行车
我有一辆车
在本例中,将选中car复选框。


选中每个复选框后,减小mvp值。当它达到0时,开始取消选中

$(document).ready(function() {
    var mvp = 3;
    $("input:checkbox").each(function( index ) {
        ($this).attr("checked", mvp > 0);
        mvp--;
    });
});

选中每个复选框后,减小mvp值。当它达到0时,开始取消选中

$(document).ready(function() {
    var mvp = 3;
    $("input:checkbox").each(function( index ) {
        ($this).attr("checked", mvp > 0);
        mvp--;
    });
});
选中

$(function() {
  var mvp = 3;
  $('input:checkbox').slice(0, mvp).prop('checked', true);
  $('input:checkbox').slice(mvp).prop('checked', false);
});

$(function() {
  var mvp = 3;
  $('input:checkbox').slice(0, mvp).prop('checked', true);
  $('input:checkbox').slice(mvp).prop('checked', false);
});
请注意,
checked
是一个属性而不是一个属性,请使用
.prop
而不是
.attr

检查

$(function() {
  var mvp = 3;
  $('input:checkbox').slice(0, mvp).prop('checked', true);
  $('input:checkbox').slice(mvp).prop('checked', false);
});

$(function() {
  var mvp = 3;
  $('input:checkbox').slice(0, mvp).prop('checked', true);
  $('input:checkbox').slice(mvp).prop('checked', false);
});

请注意,选中的
与其说是属性,不如说是属性,使用
.prop
而不是
.attr
使用jquery
:lt
选择器,它将匹配索引较小的所有元素

例如:

$(function() {
  var mvp = 3;
  $('input:checkbox:lt('+mvp+')').prop('checked', true);
});

使用jquery
:lt
选择器,它将匹配索引较小的所有元素

例如:

$(function() {
  var mvp = 3;
  $('input:checkbox:lt('+mvp+')').prop('checked', true);
});

基于@Kevin Bowersox的代码:

var mvp = 3;
$(document).ready(function() {
    var counter = 0;
    $("input:checkbox").each(function( index ) {
        if(counter < mvp){
           $(this).attr("checked",true);
           counter++;
        }
    });
});
var-mvp=3;
$(文档).ready(函数(){
var计数器=0;
$(“输入:复选框”)。每个(函数(索引){
如果(计数器
我将此代码修改为:

var mvp = 3;
    $(document).ready(function() {
$("input:checkbox").each(function( index ) {
        if(index < mvp){
           $(this).attr("checked",true);
        }
    });
});
var-mvp=3;
$(文档).ready(函数(){
$(“输入:复选框”)。每个(函数(索引){
如果(指数
基于@Kevin Bowersox的代码:

var mvp = 3;
$(document).ready(function() {
    var counter = 0;
    $("input:checkbox").each(function( index ) {
        if(counter < mvp){
           $(this).attr("checked",true);
           counter++;
        }
    });
});
var-mvp=3;
$(文档).ready(函数(){
var计数器=0;
$(“输入:复选框”)。每个(函数(索引){
如果(计数器
我将此代码修改为:

var mvp = 3;
    $(document).ready(function() {
$("input:checkbox").each(function( index ) {
        if(index < mvp){
           $(this).attr("checked",true);
        }
    });
});
var-mvp=3;
$(文档).ready(函数(){
$(“输入:复选框”)。每个(函数(索引){
如果(指数
($this)
$(this)
($this)
$(this)
?此循环不好。您将为循环中的每个步骤运行一个查询。只需收集正确的元素并使用计数器对其进行迭代。这个循环很糟糕。您将为循环中的每个步骤运行一个查询。只需收集正确的元素并使用计数器对其进行迭代即可。逻辑上可接受。。我修改了这个代码。它是有效的:谢谢@Kevin@user2593560很高兴我能帮忙!但实际上,如果您有一个
@user2593560查看我的更新,则此操作将失败。使用每个
时实际上不需要计数器,因为它通过了索引。@KevinBowersox ahh我明白了。。。所以,我的意思是,如果OP想要最后一个用HTML编码的代码作为checked。。哈哈,那么,这不是OP想要的…:)所以你的答案是正确的…:)逻辑上可以接受。。我修改了这个代码。它是有效的:谢谢@Kevin@user2593560很高兴我能帮忙!但实际上,如果您有一个
@user2593560查看我的更新,则此操作将失败。使用每个
时实际上不需要计数器,因为它通过了索引。@KevinBowersox ahh我明白了。。。所以,我的意思是,如果OP想要最后一个用HTML编码的代码作为checked。。哈哈,那么,这不是OP想要的…:)所以你的答案是正确的…:)我们有相同的想法使用
索引
我们有相同的想法使用
索引