jQuery - 从列到行的数据

时间:2014-08-19 12:47:52

标签: javascript

我有JSON文件如下:

{
  "EX_20":[["1","21","0","0"]],   
  "EX_21":[["2","22","0","0"]],
  "EX_22":[["3","23","0","0"]],
  "EX_23":[["4","24","0","0"]],
  "EX_24":[["5","25","0","0"]],
  "EX_25":[["6","26","0","0"]]
}

要表格,我想查看以下内容:

<table>
  <tr id="rowM20">
    <td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td>
  </tr>
  <tr id="rowM21">
    <td>21</td><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td>
  </tr>
</table>

我尝试使用以下脚本:

var mPocetZaznamu = 6;      /* number of records (number of rows)   */
var nPocetBunekRadek = 2;   /* number of cells at rows (from JSON) */

for (var n=0; n<nPocetBunekRadek; n++) {
  var radek = $("#rowM2"+n+" td");       /* define of rows */
  var datas = data["EX_2"+n][0];         /* define data */

  for (var m=0; m<=mPocetZaznamu; m++) {      
    $(radek[m+2]).html(datas[m]);        /* */
  }
}

可以寻求帮助吗?非常感谢

1 个答案:

答案 0 :(得分:1)

循环应该是:

for (var n = 0; n < nPocetBunekRadek; n++) {
    var radek = $("#rowM2" + n + " td"); /* define of rows */    
    for (var m = 0; m < mPocetZaznamu; m++) {
        radek.eq(m).html(data["EX_2"+m][0][n]);
    }
}

在分配给data时,您没有正确反映对radek的访问权限。此外,m循环应使用<,而不是<=作为循环条件。

DEMO