我正在處理一些稍微超過我的頭,我似乎無法找到任何與此相關的庫。在我正在編寫的Web應用程序中,我有一個n個人的列表,當點擊一個人的姓名時,會生成一個由該人編寫的n篇文章列表。我正在嘗試使用JavaScript和JSON來完成此操作。選擇JSON對象數據表元素來列出其所有元素
這是我的JSON數據將如何組織:
var people = {
'clients': [
{
'fname': 'joe',
'lname': 'smith',
'AFD': [
{
'articleName': 'AFDArticle1byjoe'
},
{
'articleName': 'AFDArticle2byjoe'
},
{
'articleName': 'AFDArticle3byjoe'
},
{
'articleName': 'AFDArticle4byjoe'
},
{
'articleName': 'AFDArticle5byjoe'
}
]
},
{
'fname': 'jim',
'lname': 'Hoff',
'AFD': [
{
'articleName': 'AFDArticle12byjim'
}
]
},
{
'fname': 'rick',
'lname': 'Robinson',
'AFD': [
{
'articleName': 'AFDArticle5byrick'
}
]
},
{
'fname': 'sarah',
'lname': 'Ross',
'AFD': [
{
'articleName': 'AFDArticle20bysarah'
}
]
},
{
'fname': 'jack',
'lname': 'jones',
'AFD': [
{
'articleName': 'AFDArticle9byjack'
}
]
}
]
};
每個人都有一個名字,姓氏,和n AFD文章的列表。
此代碼將很好地從JSON例如上面列出了N多人的數量在一個HTML表:
<table border="1">
<script>
for (var i=0;i<people.clients.length;i++)
{
$("#tabX").append("<tr><td>"+people.clients[i].fname+"</td></tr>");
}
</script>
</table>
,所以我會得到第一個名字的一些不錯的輸出在表像這樣: 「joe jim rick sarah jack」
所以通過點擊「joe」,會生成Joe文章的數據表。我已經能夠做到這一點,像這樣:
<table border="1">
<script>
for (var i=0;i<people.clients.length;i++)
{
$("#tabX").append("<tr><td>"+people.clients[ selectedClient ].AFD[i].articleName+"</td></tr>");
}
</script>
</table>
其中「selectedClient」是當前已將其選擇客戶端,AFD文章將像這樣產生:由Joe AFD第1,...,AFD第四條喬。
所以最後!我有一些問題可以幫助我解決這個問題。如何在點擊某人的姓名後更改selectedClient的值?這可能是通過執行像下面這樣的函數來完成的嗎?
$("#tabX").append("<tr><td><a href="javascript:selectName();">" +people.clients[i].fname+ "</a></td></tr>");
你可以做一個[小提琴](http://jsfiddle.net)? –
是的,差不多完成了 – user2636774
http://jsfiddle.net/bJ3eM/ – user2636774