您可以在陣列中讀出的第一個項目的屬性,並把它們作爲列名(here是一個測試):
HTML:
<textarea id="data" cols="60" rows="10">[
{"id" : 1, "name" : "iOS", "share" : 57.56},
{"id" : 2, "name" : "Android", "share" : 24.66},
{"id" : 3, "name" : "Java ME", "share" : 10.72},
{"id" : 4, "name" : "Symbian", "share" : 2.49},
{"id" : 4, "name" : "Blackberry", "share" : 2.26},
{"id" : 4, "name" : "Windows Phone", "share" : 1.33}
]</textarea><br />
<input type="button" id="fillButton" value="Fill table" /><br/>
<table id="dataTable"></table>
的JavaScript:
function fillTable(tableId, jsonString) {
var data = JSON.parse(jsonString),
dataColumn, dataColumns = [];
if(!(data instanceof Array) || data.length === 0)
return;
for (dataColumn in data[0])
if (data[0].hasOwnProperty(dataColumn))
dataColumns.push(dataColumn);
$("#" + tableId)
.html("<table id='" + tableId + "'><thead></thead><tbody></tbody></table>")
.jsonTable({
head: dataColumns,
json: dataColumns,
})
.jsonTableUpdate({
source: data
});
}
$("#fillButton").click(function() {
fillTable("dataTable", $("#data").val());
});
結果:
id name share
1 iOS 57.56
2 Android 24.66
3 Java ME 10.72
4 Symbian 2.49
4 Blackberry 2.26
4 Windows Phone 1.33
嘗試更改<textarea>
中的數據值,然後按按鈕。只有在JSON中的任何地方更改名稱時,才能更改列名稱。
來源
2013-08-28 13:26:13
kol
沒錯,我正在測試它以檢查它是否符合我的要求。我嘗試了一些與安德烈亞斯彼得森WAtable類似的東西,但偶然發現了這件事。 –
提供鏈接到插件文檔可能會有所幫助。 –