0
我已经完成的工作是: 我写了一个PHP脚本,它反映了我的JSON数据结构。 我现在正在尝试编写一个Html脚本,它将以JSON格式获得结果,但在下面的html表格中回显出这是我的PHP脚本和我的尝试HTM脚本。 关于我如何做到这一点的任何提示,我将不胜感激。将JSON转换为html表格
<html>
<head>
<title>Details B</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="robots" content="noindex, nofollow" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
JSONload();
})
function JSONload() {
$('#results').empty();
$('<table id="table2" border="1"/>').appendTo('#results');
$.get("details.php", {date1:$('#date_1').val(),date2:$('#date_2').val()}, function(result){
for(elem in result[0])
$('<th scope="col">'+elem+'</th>').appendTo('#table2');
for(var i = 0; i <= result.length; i++) {
$('<tr id="'+(i)+'" />').appendTo('#table2');
for(elem in result[i]) {
$('<td>'+result[i][elem]+'</td>').appendTo('#'+i);
}
}
},'json');
}
</script>
</head>
<body>
<table>
<tr>
<td>
<div class="fixed">
</div>
</td>
</tr>
</table>
<br />
<table border="1">
<tr>
<th scope="col">Key</th>
<th scope="col">Value</th>
</tr>
<tr>
<td> <label for="date_1">Date as dd/mm/yyyy (date_1)</label></td>
<td>
<input name="date_1" type="text" class="larger" id="date_1" value="31/1/1970" size="12" />
</td>
</tr>
<tr>
<td><label for="date_2">Date as dd/mm/yyyy (date_2)</label></td>
<td>
<input name="date_2" type="text" class="larger" id="date_2" value="31/1/1990" size="12" />
</td>
</tr>
<tr>
<td>List name of all cyclists with their country's name, gdp and population</td>
<td><input type="button" onClick="JSONload()" name="submit" id="button" value="Submit" class="larger" /></td>
</tr>
<tr>
</tr>
</table>
<div id="results" />
</body>
</html>
遍历JSON数据,生成一个HTML字符串,那么完成时,将它附加到你的新表中。你有什么尝试? – 2013-04-08 14:25:59
$(文件)。就绪(函数(){ \t \t \t JSONload(); \t \t}) \t \t功能JSONload(){ \t \t \t $( '#结果')空(); \t \t \t $('
@ user2201189请编辑该问题以包含该代码。评论的确不是为了处理除一行(或更少)片段之外的任何内容。 – 2013-04-08 14:30:46
回答
假设你的JSON数据回来在这样这样的格式:
像你想的方法,下面将生成一个表:
需要注意的是拼凑的html使用jQuery的字符串不是最佳实践。如果您正在寻找一个完整的网格,请检查@ ADC答案中提出的解决方案之一。
如果您打算进行大量的JavaScript HTML生成,我建议您查看一个模板库,如Handlebars或Underscore。这允许你写干净,语义模板像下面(从把手取):
模板
使用
来源
2013-04-08 16:07:44 brettjonesdev
我建议你去看看一些流行的jQuery插件:
DataTables。我在几个项目中使用它。通常我会创建一个由客户端调用的处理程序来提供JSON格式的数据。该插件负责渲染,分页,启用排序和过滤。
jqGrid。我没有经验,但它被一个巨大的社区使用。
来源
2013-04-08 15:24:58
相关问题