我有以下输入!
<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();
}
});
提前致谢!
答案 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');
}
});
}
}