我有一个输入类型复选框,并从数据库和表单中加载
<input type="checkbox" name="akses[]"
id="<?php echo $menu_id;?>"
value="<?php echo $action_name;?>"> <?php echo $menu_name;?>
我的json是
{
"status": 200,
"message": "sukses",
"data": {
"fullname": "TEST",
"username": "TEST_USER",
"position": "24",
"privileges_status": "based on jabatan",
"list_menu": [{
"action_name": "menu1 ",
"parent_id": 9,
"menu_id": 15,
"menu_name": "Menu 1"
}, {
"action_name": "menu2",
"parent_id": 9,
"menu_id": 16,
"menu_name": "Menu 2"
}]
}
}
我已经使用ajax成功解析了id,但是问题是我不知道如何检查json中的id是否与输入中的id相同。
如果我像
这样手动定义<input type="checkbox" name="akses[]" id="15" value=""> Menu 1
我可以选中并自动选中该复选框
现在我这样更改输入类型
<input type="checkbox" name="akses[]" id="menu1" value=""> Menu 1
更新:实现建议的答案后,像这样的js
for (var i = 0; i < res['data']['list_menu'].length; i++)
{
var action_name = res['data']['list_menu'][i]['action_name'];
var idsFromJSON = new Array();
idsFromJSON.push(action_name);
console.log(idsFromJSON);
$("[name='akses[]']").each(function() {
this.checked=idsFromJSON.indexOf(this.id)!=-1;
});
}
但是没有用。如果我像这样手动声明数组,那就行了
var idsFromJSON=["menu1", "menu2"];
答案 0 :(得分:0)
您想要这样的东西
但是我建议不要使用数字ID
var idsFromJSON=["menu15","menu16"];
$("[name='akses[]']").each(function() {
this.checked=idsFromJSON.indexOf(this.id)!=-1;
});