我试图以子弹的形式显示特定的json数据。每个章数据为<li>
,每个标题为<p>
,让这些标题为link
。最后,考虑到点击标题显示相关内容该指数在第二<div>
。我已经在下面有一段代码(还没有工作)。JSON - 根据json索引显示数据
的Html:
<div id="page1">
<ul id="courses"></ul>
</div>
<div id="page2">
<p id="content"></p>
</div>
JS代码:
var jsonString = '[{"chapter":"General","title":"News forum","content":"Text1"},
{"chapter":"CHAPTER 1","title":"1.1 Introduction","content":"Text2"},
{"chapter":"CHAPTER 1","title":"1.2 Main Idea","content":"Text3"},
{"chapter":"CHAPTER 2","title":"2.1 Architecture","content":"Text4"},
{"chapter":"CHAPTER 3","title":"3.1 Liter.overview","content":"Text5"}]';
var myData = JSON.parse(jsonString);
$(document).ready(function() {
var $clist = $('#courses');
for(var i in myData) {
$('<li><h3>' +this.[i].chapter+ '</h3><p><a href="#page2" onclick="dContent(i)">' +this.title+ '</a></p></li>').appendTo($clist);
}
function dContent() {
var $ccontent = $('#content');
$(this.[i].content).appendTo($ccontent);
}
});
预期结果:
- General
News forum // onclick display 'Text1' in <p id="content">
- CHAPTER 1
1.1 Introduction // onclick display 'Text2' in <p id="content">
1.2 Main Idea // onclick display 'Text3' in <p id="content">
- CHAPTER 2
2.1 Architecture // onclick display 'Text4' in <p id="content">
- CHAPTER 3
3.1 Liter.overview // onclick display 'Text5' in <p id="content">
任何帮助,将不胜感激。
UPDATE:这是JSFIDDLE项目。
您将需要捕捉'i'在它自己的范围,循环,用生成函数或存储数据在其他地方(如_data - * _属性)创建您想要的onclick监听器。 – 2013-02-21 20:22:55
什么是不工作? – 2013-02-21 21:02:18
@FelixKling没有结果打印。请看看** jsfiddle **(链接在上面)版本。 – Dozent 2013-02-21 22:55:31