如何使用 Mustache.js 从具有相等选项和值的数组中获取 JSON 子数组数据
How to get JSON sub array data from array with equal option and value with Mustache.js?
我正在尝试与Mustache合作.js这真的很有帮助。
我坚持获取具有特定选项和值的数组。
我的 JSON 看起来像这样:
{
"departments": [
{
"department": [
{
"id": 114,
"deptName": "Department 1",
"category": [
{
"id": 127,
"catName": "Category Name",
"subCategory": []
},
{
"id": 115,
"catName": "Category Name",
"subCategory": []
}
]
}
]
},
{
"department": [
{
"id": 123,
"deptName": "Department 2",
"category": [
{
"id": 126,
"catName": "Category Name",
"subCategory": []
},
{
"id": 124,
"catName": "Category Name",
"subCategory": []
}
]
}
]
}
]
}
要获取主要部门名称,很容易:
.JS:
$.ajax({
url: 'link_to_json',
dataType: 'json',
success: function(data) {
var template = $('#pageHomeTpl').html();
var html = Mustache.to_html(template, data);
$('#category-list').html(html);
}
});
.HTML:
<ul id="category-list">
<script id="pageHomeTpl" type="text/template">
{{#departments}}
{{#department}}
<li><a href="{{id}}">{{deptName}}</a></li>
{{/department}}
{{/departments}}
</script>
</ul>
但是现在我需要以某种方式从具有特定ID的部门获取类别("类别:"),例如"id":114。
请提供任何帮助。
你可以尝试使用这些行,使用 jQuery map()
和 grep()
console.log(JSON.stringify(data));
var filtereddata = {"departments" : []};
var filtereddept= {};
filtereddept.department= $.map(data.departments, function(alldept,indx){
return $.grep(alldept.department, function(deptobj,indx){
return deptobj.id==114;
});
});
filtereddata.departments[0]=filtereddept;
console.log(JSON.stringify(filtereddata));
迭代部门类别的模板:
<script id="pageHomeTpl" type="text/template">
{{#departments}}
{{#department}}
<li><a href="{{id}}">{{deptName}}</a></li>
{{#category}}
<ul>
<li><a href="{{id}}">{{catName}}</a></li>
</ul>
{{/category}}
{{/department}}
{{/departments}}
</script>
我不测试它,但它似乎是工作...
...
success: function(data) {
var template = $('#pageHomeTpl').html();
var item = data.departments
for(key in item){
if(key == 'id' && item[key] == 114 ){
var html = Mustache.to_html(template, item);
}
}
$('#category-list').html(html);
}
...
与 FOR ..IN语句,你可以在你的对象或数组中循环,看看这个链接js_loop_for_in
相关文章:
- 从json子数组获取数据
- 从javascript数组获取php的日期时间
- 从表中的 JSON 数组获取数据
- 每个表的2D数组获取坐标JTSL,JAVASCRIPT
- javascript从元素到数组获取文本
- 如何从数组获取链接以在youtube Iframe API中播放
- JSON 编码多维数组获取值
- 如何从两个 JSON 数组获取增量
- 通过单击按钮数组获取隐藏 html 元素值的当前数组
- 在 JavaScript 中从内部数组获取数据
- 从数组获取非重复索引在 0 时失败
- JavaScript 从对象中的数组获取数组
- 如何通过 ajax 将 php 数组作为 javascript 数组获取
- 快速从 2D 数组获取索引,无需迭代 jquery
- 从 Nodejs socketio 数组获取所有套接字 id
- 无法动态从 json 数组获取数据
- 如何在javascript中使用数组获取和设置html标签的值
- jQuery对象数组获取一个项作为jQuery对象
- 如何在不向输出数组获取空值的情况下拆分字符串
- 从输入到数组获取数据