在jQuery中从JSON填充HTML不起作用
Populating HTML from JSON in jQuery not working
我正试图从JSON文件构建一个简单的菜单。
我几天来一直在努力找出正确的逻辑,现在我迷失了方向:
逻辑如下:
$.ajax({
url: 'data.json',
cache: false,
data: "",
dataType: 'json',
success: function (results) {
return $.map(results.Menu, function(obj, i) {
var menuTemplate = '';
$.each(obj.menuTitle,function(k,l){
console.log(obj.link);
menuTemplate += '<ul>';
menuTemplate += '<li>'+obj.menuTitle;
menuTemplate += '<div class="menuList">';
menuTemplate += '<div class="left">';
menuTemplate += '<ul>';
menuTemplate += '<li>'+obj.documentTitle[k]+'</li>';
menuTemplate += '</ul>';
menuTemplate += '</div>';
menuTemplate += '<div class="right">';
menuTemplate += '<ul class="region">';
menuTemplate += '<li><a href="'+obj.link+'">'+obj.link+'</a></li>'
menuTemplate += '</ul>';
menuTemplate += '</div>';
menuTemplate += '</div>';
menuTemplate += '</li>';
menuTemplate += '</ul>';
});
menuTemplate += "";
return $('#menu2').append(menuTemplate);
});
}
});
JSON:
{
"Menu":{
"fruit":{
"menuTitle":["Fruits"],
"documentTitle":["Apple, Pear"],
"link":{
"uk":["apple_uk.pdf", "pear_uk.pdf"],
"europe":["apple_eu.pdf", "pear_eu.pdf"],
"italy":["apple_it.pdf", "pear_it.pdf"],
"germany":["apple_gr.pdf", "pear_gr.pdf"]
}
},
"salad":{
"menuTitle":["Salad"],
"documentTitle":["Tomatoe","Paprika"],
"link":{
"uk":["tomatoe_uk.pdf", "paprika_uk.pdf"],
"europe":["tomatoe_eu.pdf", "paprika_eu.pdf"],
"italy":["tomatoe_it.pdf", "paprika_it.pdf"],
"germany":["tomatoe_gr.pdf", "paprika_gr.pdf"]
}
}
}
}
这是PLUNKR
PLUNKR内部的代码应该是JSON填充时的样子。我只想创建一个模板,但它对我不起作用吗:(
请帮帮我。
提前感谢
首先将所有菜单模板字符串构建更改为:
menuTemplate += '<ul>';
menuTemplate += '<li>'+obj.menuTitle;
menuTemplate += '<div class="menuList">';
menuTemplate += '<div class="left">';
menuTemplate += '<ul>';
$.each(obj.documentTitle, function(mainkey, title) {
menuTemplate += '<li>'+title+'</li>';
});
menuTemplate += '</div>';
menuTemplate += '<div class="left">';
$.each(obj.link, function(region, files) {
menuTemplate += '<ul class="region">';
$.each(files, function(key, file) {
menuTemplate += '<li>'+file+'</li>';
});
menuTemplate += '</ul>';
});
menuTemplate += '</div>';
menuTemplate += '</li>';
menuTemplate += '</ul>';
第二,如果您的数据json文件中有错误,请更改为:
"documentTitle":["Apple, Pear"],
对此:"documentTitle":["Apple","Pear"],
相关文章:
- 使用PHP插入HTML在JavaScript上不起作用
- 通过jQuery插入HTML不起作用
- JSP if() 语句中的 HTML 不起作用
- AngularJs ng-include src =“sample.html ” 不起作用
- 为什么来自验证的 html 不起作用
- PHP 变量包含 HTML 和 JavaScript.通过JavaScript将其注入HTML不起作用
- 由JavaScript创建的HTML不起作用 - 滑块不会滑动
- 在jQuery中从JSON填充HTML不起作用
- html不起作用
- 当html内容包含使用css加载的图像时,ng绑定html不起作用
- 为什么这个html不起作用
- 通过JSON返回HTML不起作用
- SAPUI5:编译声明式HTML不起作用
- 设置& lt; input>通过jquery (selector).prop()函数对动态html不起作用
- jQuery.click和.html不起作用
- Angular UI Bootstrap Popover w/HTML 不起作用
- 单击“HTML 不起作用”
- 使用 JavaScript 递归函数创建 HTML 不起作用
- 从JS中添加HTML不起作用
- Javascript /jquery对我的html不起作用