假设,我有以下的HTML
<input type="checkbox" name="products" value="1" id="product_1" />
<input type="checkbox" name="products" value="2" id="product_2" />
<input type="checkbox" name="products" value="3" id="product_3" />
jquery的:
var list = [1,2];
现在,如果列表中的值匹配,我就会选中如何选中复选框。在我的示例中,要准备好第一和第二输入。
答案 0 :(得分:1)
尝试使用id选择器,因为id包含值
var list = [1, 2];
$.each(list, function (i, val) {
$('#product_' + val).prop('checked', true)
})
演示:Fiddle
如果您正在进行重置操作,那么
var list = [1, 2];
$('input[name="products"]').prop('checked', function () {
return $.inArray(parseInt(this.value), list) > -1
})
演示:Fiddle
答案 1 :(得分:0)
您可以遍历值数组,然后根据产品ID检查每个输入。
list.forEach(function(item) {
$('#product_'+ item).prop('checked', true);
});
更高级的解决方案是构建一个选择器,然后立即检查它们。
$( list.map(function(item) {
return '#product_'+ item;
}).join(',') ).prop('checked', true);
答案 2 :(得分:0)
你可以尝试这个吗,你可以使用id属性product_*
作为选择器
var list = [1,2];
$.each(list,function( index, value ) {
// alert( index + ": " + value );
$("#product_"+value).prop('checked', true);
});
答案 3 :(得分:0)
试试这个
HTML
<input type="checkbox" name="products[]" value="1" id="product_1" />
<input type="checkbox" name="products[]" value="2" id="product_2" />
<input type="checkbox" name="products[]" value="3" id="product_3" />
脚本
var list = [1, 2];
$("input[name='products[]']").each( function(i,j) {
if(jQuery.inArray(parseInt($(this).val()), list)!= -1){
$(j).attr('checked', 'checked'); //OR $(j).prop('checked', true);
}
});
答案 4 :(得分:0)
我会做这样的事情:
$('[name=products][value=' + list.join('],[name=products][value=') + ']').prop('checked', true);
答案 5 :(得分:0)
您可以使用Jquery.inarray
var list=[1,2];
$('input[name=products]').each(function(){
if(jQuery.inArray(parseInt($(this).val()), list)!=-1)
{
$(this).prop('checked', true);
}
});
答案 6 :(得分:0)
$('input[name=products]').prop('checked', function() {
return (list.indexOf(~~this.value) != -1);
});