从值列表中选中复选框

时间:2011-08-03 18:21:32

标签: jquery

我有一个值列表:

 <script>
 $().ready(function() {
var pi = '1,8';
    $('#items_'+i).attr("checked",true);
 });
 </script>                    

1 <input type="checkbox" id="items_1" name="myitems" value="1"  /> <br/>
2 <input type="checkbox" id="items_2" name="myitems" value="2"  /> <br/>
3 <input type="checkbox" id="items_3" name="myitems" value="3"  /> <br/>
4 <input type="checkbox" id="items_4" name="myitems" value="4"  /> <br/>
5 <input type="checkbox" id="items_5" name="myitems" value="5"  /> <br/>

6 <input type="checkbox" id="items_6" name="myitems" value="6"  /> <br/>
7 <input type="checkbox" id="items_7" name="myitems" value="7"  /> <br/>
8 <input type="checkbox" id="items_8" name="myitems" value="8"  /> <br/>
9 <input type="checkbox" id="items_9" name="myitems" value="9"  /> <br/>

基于上面的列表pi,我想只检查items_1和items_8。不确定如何。

4 个答案:

答案 0 :(得分:2)

试试

var pi = '1,8';
var array = pi.split(','); // split on the comma creates an array
for(var x=0; x<array.length; x++){
    $('#items_'+x).attr("checked",true);}

答案 1 :(得分:1)

使用正确形式的jQuery document.ready,并使用for循环。

$(function ()
{
    var pi = [1, 8]; // or '1,8'.split(',')
    for (var i=0; i<pi.length; i++)
    {
        $('#items_' + pi[i]).attr('checked', true);
    }
});

答案 2 :(得分:1)

试试这个

$(function ()
{
    var pi = [1, 8];
    for (var i=0; i<pi.length; i++)
    {
        $('#items_' + pi[i]).attr('checked', true);
    }
});

答案 3 :(得分:0)

怎么样:

$(":checkbox:lt(8)").prop("checked", true);

演示:http://jsfiddle.net/ELxPM/2/

或者:

$(":checkbox").slice(0,8).prop("checked", true);

// to narrow down to ids starting in items
$(":checkbox[id^='items']").slice(0,8).prop("checked", true);

// to apply your 'range' string
var range = pi.split(",");
$(":checkbox[id^='items']").slice(pi[0]-1, pi[1]-1).prop("checked", true);

演示:http://jsfiddle.net/Y5xbd/