我碰到了墙,因为我只是不知道我应该在google上搜索什么:(我实际上正在使用stackoverflow问问题表单中的“可能已经有你的答案的问题”,但找不到任何东西近
我正在尝试使用AJAX结果中的2个json字符串构建一个复选框表单。
第一个json字符串类别包含我只允许表单使用的所有role_id
第二个json字符串 Roles 包含用户可读的名称roleName
。
所以,我的HTML (我正在使用twig
模板系统,所以我有{{ tags }}
):
<label class="checkbox-inline">
<input type="hidden" name="has_Read[ role.id ]" value="0" />
<input type="checkbox" name="has_Read[ role.id ]" value="1"> role.roleName
</label>
我希望我应该循环到类别 json字符串中的每个role_id
,获取每个id
然后将其放在has_Read[ role.id ]
上,然后查看角色为roleName
提取role_id
,以便在复选框表单中为其添加标签
分类
[
{"id":77,"category_id":32,"role_id":1,"has_Read":1},
{"id":75,"category_id":32,"role_id":99,"has_Read":1}
]
角色
[
{"id":99,"roleName":"Administrators"},
{"id":2,"roleName":"test"},
{"id":1,"roleName":"Default User"}
]
除了选择器之外,我对jquery / js知之甚少,所以我不知道从哪里开始构建表单,将这些json字符串传递给php似乎很荒谬。有人可以教我从哪里开始吗?
谢谢!
答案 0 :(得分:1)
首先将roles
转换为中间哈希对象,由角色ID键入:
var roles_ = {};
for(var i=0; roles.length; i++) {
roles_[roles[i].id] = roles[i];
}
然后可以使用.roleName
哈希作为查找,为每个类别赋予roles_
属性:
for(var i=0; i<categories.length; i++) {
categories[i].roleName = roles_[categories[i].role_id].roleName;
}
现在,增强型categories
数组包含所有可用数据:
[
{"id":77, "category_id":32, "role_id":1, "has_Read":1, "roleName":"Default User"},
{"id":75, "category_id":32, "role_id":99, "has_Read":1 "roleName":"Administrators"}
]