【问题标题】:JS output from data structure to tableJS从数据结构输出到表
【发布时间】:2011-08-23 12:15:28
【问题描述】:

数据结构

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>

我正在尝试根据字母将数据输出到表格。一个表行上的一个对象。(一个字母内的表中的所有对象)。此代码不起作用 - 意外令牌 "}"。奇怪的是,它指向&lt;div id="elem"&gt; 线。但是没有这样的性格!我该如何解决这个问题?

更新:谢谢,错误消失了......但它输出了整个结构,我如何让它只输出'a'对象?

【问题讨论】:

    标签: javascript html-table


    【解决方案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>";
     }
    
    }
    

    Feature reading about javascript notations

    【讨论】:

    • 谢谢,错误消失了……但是它输出了整个结构,我如何让它只输出'a'对象??
    • 12 因为 X[a]length(=3) * trnum (=4) = 12 你有 2 个循环
    • 我明白了.. 有机会解决这个问题吗?只得到 3 个(在 'a' 下)johns??
    • 是的,在 Tablecode += ... 之后删除 for (var j=0; j&lt; trnum; j++){} 。完成此操作后,您还可以更改:showTable(4,X,'a');showTable(X,'a');function showTable(trnum,X,a) { function showTable(X,a) {
    • 非常感谢!!你搞定了!! :) 对不起,但我有最后一个问题:第一次点击后如何禁用按钮?让它在第一次点击后可点击但无法执行??
    【解决方案2】:

    从将您的代码扔进小提琴并让它运行,我注意到您的按钮是一个故障点。您必须用单引号将“a”括起来。

    http://jsfiddle.net/YaZp2/1/

    编辑:此外,编辑输出代码增加了实际查看它是否有效的能力。

    【讨论】:

      【解决方案3】:

      双引号用于分隔 onclick 以及其中的参数。

      试试

      <button onclick="showTable(4,X,'a');">
      

      【讨论】:

        猜你喜欢
        • 2014-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-27
        • 2011-05-18
        • 2019-12-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多