使用jquery检查多个复选框
我有一个类似的数组
var values = ['1','3','4','5'];
我有复选框列表
现在我想选择其值位于数组值内的复选框。 我做到了这一点
for(var i = 0; i < values.length; i++) $("#list [value=" + values[i] + "]").attr("checked", "checked");
它工作正常,但我可以不用循环。
提前告诉你帮助者。
尝试
$("#list").find('[value=' + values.join('], [value=') + ']').prop("checked", true);
演示: 小提琴
您可以使用单个组合选择器更简洁地执行此操作:
$('#list [value="'+values.join('"],[value="')+'"]').prop('checked',true);
它产生一个选择器,如:
$('#list [value="1"],[value="3"],[value="4"],[value="5"]')
您可以使用如下所示的filter
,但它与循环相同但是…
$('#list :checkbox').filter(function () { return $.inArray(this.value, values) >= 0; }).prop('checked', true);
你可以用$ .each替换你的for循环
JQuery的
$.each(values, function() { $("#list [value=" + this + "]").attr("checked", "checked"); });