如果我有一组值,我该如何选中复选框?

时间:2012-01-23 13:52:53

标签: jquery arrays checkbox checked

我有以下输入!

<input type="checkbox" value="1" />
<input type="checkbox" value="2" />
<input type="checkbox" value="3" />
<input type="checkbox" value="4" />
<input type="checkbox" value="5" />

使用jQuery后,我希望我的结果如下所示:

<input type="checkbox" value="1" checked />
<input type="checkbox" value="2" />
<input type="checkbox" value="3" checked  />
<input type="checkbox" value="4" />
<input type="checkbox" value="5" checked />

我使用以下代码,但它不起作用。

$(document).ready(function() { 
    var str = '1,3,5';
    var temp = new Array();
    temp = str.split(",");
    for (a in temp ) {
        //$('.check').valueOf().checked;
        $('.check').val(append(temp[a])).checked;
        //$('#c').append();
    }
});

提前致谢!

4 个答案:

答案 0 :(得分:7)

描述

您可以使用for(i=0;i!=temp.length;i++)遍历数组,并使用属性选择器获取正确的复选框。

查看我的示例和此jsFiddle Demonstration

示例

$(document).ready(function() { 
    var str = '1,3,5';
    var temp = new Array();
    temp = str.split(",");
    for (i=0; i!=temp.length;i++) {
        var checkbox = $("input[type='checkbox'][value='"+temp[i]+"']");
        checkbox.attr("checked","checked");
    }
});

更多信息

答案 1 :(得分:1)

我必须问,您对此有何期望?对于初学者,你要求的是类名为check的元素,你的元素都没有,那么你只需要一个没有任何赋值或任何东西的语句......你也在创建一个只有...被抛弃,因为split创建了一个新数组。此外,而不是你的字符串拆分,只有像var temp = [1,3,5];这样的东西才能正常工作......最后你在数组上使用for...in,这是不好的,因为数组旁边的属性(例如{{} 1}}和几种方法)......

无论如何,你需要的更像是:

length

答案 2 :(得分:1)

试试这个:

$(document).ready(function(){
    $("input[type='checkbox']").each(function(){
        if( $(this).index() % 2 == 0 ){
            $(this).attr('checked','checked');
        }
     });
});

你可以在这里玩弄小提琴 - http://jsfiddle.net/EuXQF/

答案 3 :(得分:-1)

$(document).ready(function(){
    var array = "1,3,5,2";
    check_value(array);
});
    function check_value(val){
        var array = val.split(",");
        for (i=0;i<array.length;i++){
             //alert(array[i]);

             $("input[type='checkbox']").each(function(){
                if( $(this).val() == array[i]){
                    $(this).attr('checked','checked');
                }
             });
        }
    }
相关问题