jquery从2个json字符串构建一个复选框表单
jquery Build a checkbox form from 2 json string
我碰壁了,因为我不知道我应该在谷歌上搜索什么:(我实际上在玩stackoverflow的"可能已经有你答案的问题"提问表,但在附近找不到任何东西
我正在尝试使用AJAX结果中的2个json字符串来构建一个复选框表单。
第一个json字符串Category包含仅允许表单使用的所有role_id
I第二个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>
我希望我应该循环到Categoryjson字符串中的每个role_id
,获取每个id
,然后将其放在has_Read[ role.id ]
上,然后查看Roles为role_id
提取roleName
,以在复选框形式中标记它
类别
[
{"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似乎很荒谬。有人能教我从哪里开始吗?
谢谢!
首先将roles
转换为一个中间散列对象,由角色id:键控
var roles_ = {};
for(var i=0; roles.length; i++) {
roles_[roles[i].id] = roles[i];
}
然后,可以使用roles_
散列作为查找,为每个类别指定一个.roleName
属性:
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"}
]
相关文章:
- 复选框:一次只允许单击一个复选框
- jquery从2个json字符串构建一个复选框表单
- 聚合物铁形式验证至少选中一个复选框
- 如何创建只允许用户在选中前一个复选框的情况下选择复选框的复选框验证
- 如果选中了以下复选框,请选中上一个复选框
- 如何通过jQuery选中所有复选框并在单击一个复选框时取消选择
- 如何发现至少有一个复选框被选中或没有使用javascript
- 在mvc4中选择另一个复选框时禁用复选框
- 在服务器上创建一个复选框,使用 javascript 处理函数
- jqGrid-当我点击网格中的另一个复选框时,选中多选复选框
- 确保至少选中一个复选框
- 选中一个复选框后,使用html.checkbox自动禁用其他复选框
- 创建一个复选框按钮的散列,这些按钮在单击时在Twitter Bootstrap Button组中处于活动状态
- 如果选中了上一个复选框,则需要的验证插件
- 取消选中一个复选框时,如何启用所有复选框?使用javascript
- 当选中一个复选框时,表单中的所有其他复选框都必须禁用-不工作
- 当一个复选框处于活动状态时,禁用所有复选框
- Angular 1:最后一个复选框没有'刷新页面后不要保持选中状态
- 当选中另一个复选框时,如何取消选中该复选框
- 允许用户只选择一个复选框(引导复选框-x)