我有这个代码来取回一个json字符串:
$.getJSON("<?php echo BASE_URL; ?>/editTask.php?ID="+tid,function(result){
$.each(result.staff, function() {
$("#checkbox[value=" + this + "]").prop('checked');
});
});
json看起来像这样
{"staff":[13,17,15]}
我有一个像这样的PHP代码段
<div id="checkbox" class="checkbox" style="max-height:150px;overflow:auto;">
<?php
for ($i = 0; $i < count($user_list); ++$i) {
echo '<label>'
.'<input type="checkbox" name="tasksUser[]"
value="'.$user_list[$i]['uid'].'">'
.$user_list[$i]['surname'].', '.$user_list[$i]['forename']
.'</label><br />';
}
?>
</div>
我希望检查每个具有 result.staff 值的复选框。但我认为我的每个部分都有错误。但是在Firefox控制台中没有显示错误。
你能帮帮我吗?
答案 0 :(得分:1)
是的。$ .each函数存在问题。
$.each(result.staff,
function() {
$("#checkbox[value=" + this + "]").prop('checked');
^
Here is the issue.
});
});
由于您没有与元素相关联的任何ID或类,您可以使用元素名称/ +类型
访问它您必须用
替换您的代码$("input[type='checkbox'][value=" + this + "]").prop("checked", true);
在这里,我访问所有可用值的复选框,并将设置设置为true。
答案 1 :(得分:0)
您正在使用此选择器查找复选框:
$("#checkbox[value...]")
但是,选择器中的#
符号会查找具有ID
的元素。
PHP循环中的复选框没有指定的ID或类,因此您可以选择它们:
#(":checkbox[value...]")