這裏我有一個json對象,其中一些元素在列表中,所以我想爲這個對象創建一個動態表,這意味着如果我生成一個新的json對象,表將會是稍後刷新。但現在,我無法將json對象列表發送到表中,不知道爲什麼。我是json的新手,謝謝。爲json對象創建一個動態表
<html>
<head>
<title>Generate your own query</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"> </script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$("#driver").click(function(event){
$.getJSON('result.json', function(jd) {
$('#stage').append('<p> Queries: ' + jd.queries_status+ '</p>');
$('#stage').append('<p> Queries: ' + jd.list_of_queries[0].query_id+ '</p>');
var table = document.getElementById("usertable");
var tabledata = "";
for(i=0;i<jd.list_of_queries.length;i++){
tabledata += "<tr>";
tabledata += "<td>" + jd.list_of_queries[i].query_id += "</td>";
tabledata += "<td>" + jd.list_of_queries[i].query_status += "</td>";
tabledata += "</tr>";
}
tabledata.innerHTML= tabledata;
); //.appendTo('#records_table');
console.log($tr.wrap('<p>').html());
});
});
});
});
});
</script>
</head>
<body>
<p>Generate your own query</p>
<div id="stage" >
Query <input type="text" name="query" size="50">
</div>
</br>
<table id="usertable" border="1" cellpadding="5" cellspacing=0>
<tbody>
<tr>
<th>query_id</th>
<th>query_status</th>
</tr>
</tbody>
</table>
</br>
<input type="button" id="driver" value="submit query" />
<form>
<input type="submit" id="submit" value="go back"formaction="http://localhost/queryexample.html" >
</form>
result.json
{
"queries_status": "under process",
"list_of_queries":
[
{
"query_id": 1,
"query_status": "under finished",
"query_results number": "2",
"detailed query results" :
[
{ "result 1":"string 1" },
{ "result 2":"string 2" }
],
"tasks_number" : 3,
"list of tasks":
[
{
"task id" :1,
"task status": "finished",
"task operation": "JOIN",
"number of hits": 4,
"finished hits":4,
"task result number": "5"
},
{
"task id" :2,
"task status": "finished",
"task operation": "SELECT",
"number of hits": 5,
"finished hits":5,
"task result number": "3"
},
{
"task id" :3,
"task status": "finished",
"task operation": "GROUPBY",
"number of hits": 5,
"finished hits":5,
"task result number": 2
}
]
},
{
"query id": 2,
"query status": "under process",
"query results number": null,
"detailed query results":
[
null
],
"tasks number" : 2,
"list of tasks":
[
{
"task id" :1,
"task status": "finished",
"task operation": "JOIN",
"number of hits": 4,
"finished hits":3,
"task result number": "5"
},
{
"task id" :2,
"task status": "under process",
"task operation": "GROUPBY",
"number of hits": 5,
"finished hits":0,
"task result number": "null"
}
]
}
]
}
你有一些'+ =',我認爲你的意思只是'+',我猜'tabledata.innerHTML = tabledata; '是爲了'table.innerHTML = tabledata;' – 2015-04-03 13:38:47
首先看看你的js控制檯並修復所有的語法錯誤。 – 2015-04-03 13:39:51
我終於解決了!等待回答 – Legendary 2015-04-03 14:26:33