数据结构
var X = {
a: [{name:"john", phone:777},{name:"john", phone:777},{name:"john", phone:777}],
b: [{name:"john", phone:777},{name:"john", phone:777},{name:"john", phone:777}],
c: [{name:"john", phone:777},{name:"john", phone:777},{name:"john", phone:777}],
d: [{name:"john", phone:777},{name:"john", phone:777},{name:"john", phone:777}]
}
功能
function showTable(trnum,X,a) {
var Tablecode = "<table><tbody>";
for (var i=0; i< X.a.length;i++) {
for (var j=0; j< trnum; j++) {
Tablecode += "<tr><td>"+X.a[i].name+"</td><td>"+X.a[i].phone+"</td></tr>";
}
}
Tablecode += "</tbody></table>";
$("#elem").append(Tablecode);
}
标记
<body>
<button onclick="showTable(4,X,"a");"></button>
<div id="elem">
</div>
</body>
我正在尝试根据信件将数据输出到表格。一个表行上的一个对象(表中一个字母内的所有对象)。此代码无效 - 意外令牌"}"
。奇怪的是,它指向<div id="elem">
行。但是没有这样的角色!我该如何解决这个问题?
更新:谢谢,错误消失了...但它输出整个结构,我如何让它只输出'a'对象?
答案 0 :(得分:1)
<button onclick="showTable(4,X,"a");"></button>
应该是那样的(双引号):
<button onclick="showTable(4,X,'a');"></button>
将此与您的比较(请参阅.a
和[a]
)
for (var i=0; i< X[a].length;i++){
for (var j=0; j< trnum; j++){
Tablecode += "<tr><td>"+X[a][i].name+"</td><td>"+X[a][i].phone+"</td></tr>";
}
}
答案 1 :(得分:0)
从将代码扔进小提琴并让它运行起来,我注意到你的按钮是一个失败点。你必须使用SINGLE引号包围'a'。
编辑:此外,编辑了输出代码,添加了实际查看它是否有效的功能。
答案 2 :(得分:0)
双引号用于分隔onclick以及其中的参数。
尝试
<button onclick="showTable(4,X,'a');">