这是我的HTML代码:
<ul>
<li>
<input name="Services[]" class="form-control" value="Canbeprivatized" id="Canbeprivatized" type="checkbox"><label for="Canbeprivatized">Can be privatized </label>
</li>
<li>
<input name="Services[]" class="form-control" value="Englishspoken" id="Englishspoken" type="checkbox"><label for="Englishspoken">English spoken </label>
</li>
<li>
<input name="Services[]" class="form-control" value="Françaisparle" id="Françaisparle" type="checkbox"><label for="Françaisparle">Français parlé </label>
</li>
<li>
<input name="Services[]" class="form-control" value="Petsallowed" id="Petsallowed" type="checkbox"><label for="Petsallowed">Pets allowed </label>
</li>
<li>
<input name="Services[]" class="form-control" value="Piscine" id="Piscine" type="checkbox"><label for="Piscine">Piscine </label>
</li></ul>
jQuery代码:
var tab = new Array();
tab = data.services.split(",");// data is values of Checkboxes inserted in create form, so now i need to show it because this is edit form
我的问题是如何检查选项卡中值等于值的所有复选框。 需要你的帮助,谢谢
答案 0 :(得分:4)
执行以下操作,迭代tab
:
for (i = 0; i < tab.length; i++)
$('input[type=checkbox][value=' + tab[i] + ']').prop("checked", true);
答案 1 :(得分:1)
您可以使用.filter()
查找数组checkboxes
中存在其值的所有tab
,然后使用.prop()
设置其checked
属性
$(':checkbox').filter(function(){
return tab.indexOf($(this).val()) > -1;
}).prop('checked', true);
答案 2 :(得分:0)
如果我理解正确,这应该有效
var tab = 'Englishspoken,Petsallowed';
tab = tab.split(",");
var $input = $('input');
for (var i = 0; i < $input.length; i++){
for (var j = 0; j < tab.length; j++){
if ($input.eq(i).val() == tab[j]){
$input.eq(i).prop('checked', true);
}
}
}