我正在为包含checkboxes
的表单执行编辑功能。即我提交此表格中的数据,然后在提交时有一项规定来编辑以前提交的数据。
我有一个包含提交的复选框值的数组。因此,我希望每个复选框的值都包含在php array
中,我希望使用jQuery
检查它们。
我在下面尝试过:
HTML:
<?php
foreach ($selections as $selection) {
echo "<tr><td>" . $selection -> Name . "</td><td><input type=checkbox id=" . $selection -> Name . " name=selections[] value=" . $selection -> id . " /></td></tr>";
}?>
SCRIPT:
var checkboxarray = <?php echo json_encode($checkboxarray) ?>;
$.each(checkboxarray, function (i, elem){
if(elem.name == $('input[name ="selections[]"]').attr('id')){
$('input[name ="selections[]"]').attr('checked','checked');
}
})
但是,它似乎无法正常运行。
帮助表示感谢,谢谢。
答案 0 :(得分:1)
你可以这样做:
$.each(checkboxarray, function (i, elem){
if($('#'+elem.name) != 'undefined'){
$('#'+elem.name).attr('checked', true);
}
});
答案 1 :(得分:1)
您可以直接在选择器中查找id
属性:
$.each(checkboxarray, function (){
if($('#' + this.name).length){
$('#' + this.name).attr('checked','checked');
}
});
});
答案 2 :(得分:1)
你也可以
尝试
foreach ($selections as $selection) {
$checked = in_array($selection -> Name, $checkboxarray ) ? 'checked="checked"' : '';
echo "<tr><td>" . $selection -> Name . "</td><td><input type=checkbox id=" . $selection -> Name . " name=selections[] value=" . $selection -> id . " ".$checked."/></td></tr>";
}
此处$checkboxarray
是已检查