2011-08-03 92 views
1

我有值的列表:從值列表檢查框

<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。不知道如何。

回答

1

試試這個

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

http://jsfiddle.net/34CgV/不起作用。 – CFNinja

+0

@Falconseye - 在你創建的小提琴中你沒有包含jquery,var pi也被聲明爲一個變形變量pi ='1,8,3.9'。檢查了這[鏈接](http://jsfiddle.net/34CgV/5/) – ShankarSangoli

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

使用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); 
    } 
}); 
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/

+0

我認爲這使得它是一個範圍內,我的值是在一個範圍內隨機。 – CFNinja