简体   繁体   English

jQuery将动态单元格添加到表中的静态单元格

[英]jQuery add dynamically cell to a static cell into table

I want to create static/dynamic table. 我想创建静态/动态表。 All cell <th> and the first two columns <td> of row are static. 该行的所有单元格<th>和前两列<td>都是静态的。 Content others cells I want to create dynamically using jQuery script. 满足我想使用jQuery脚本动态创建的其他单元格的内容。

I do not know how I start. 我不知道如何开始。 Data to cell I have saved at JSON format (array) as: 我以JSON格式(数组)保存到单元格的数据为:

{
"EX1":[["1","8","16","24"]],
"EX2":[["0","100200","109f","ffffffff"]]
}

HTML: HTML:

<table id="personDataTable" style="border: 1px #e3ffg3 solid; text-align: center;">
  <tr class="bg02">
    <th colspan="2">Name</th>
    <th width="100px">Sensor 1</th>
    <th width="100px">Sensor 2</th>
    <th width="100px">Sensor 3</th>
    <th width="100px">Sensor 4</th>
  </tr>
  <tr id="row1">
    <td class="bg02">A</td>
    <td class="bg02">Out64H</td>
    <td>element[index]</td>
    <td>element[index+1]</td>
    <td>element[index+2]</td>
    <td>element[index+3]</td>
  </tr>
  <tr id="row2">
    <td class="bg02">R</td>
    <td class="bg02">In128Birh</td>
    <td>element[index]</td>
    <td>element[index+1]</td>
    <td>element[index+2]</td>
    <td>element[index+3]</td>
  </tr>
</table>

Static text in the every <tr> is necassary because text is not in json file. 每个<tr>中的静态文本都是必需的,因为文本不在json文件中。 Can ask for help with create javascript script? 可以在创建JavaScript脚本方面寻求帮助吗?

Thanks very much 非常感谢

See this jsfiddle: http://jsfiddle.net/9zr6z70g/3/ 看到这个jsfiddle: http : //jsfiddle.net/9zr6z70g/3/

The jQuery code is this way: jQuery代码是这样的:

var data = {
  "EX1":[["1","8","16","24"]],
  "EX2":[["0","100200","109f","ffffffff"]]
};

var data1 = data.EX1[0];
var data2 = data.EX2[0];

$(document).ready(function(){
  var row1cells = $("#row1 td");
  var row2cells = $("#row2 td");

  for (var index=0; index<4; index++) {
    $(row1cells[index+2]).html(data1[index]);
    $(row2cells[index+2]).html(data2[index]);
  }
});

For multiple EX data, do it this way: 对于多个EX数据,请按以下方式进行操作:

var exCount = 2;

var data = {
  "EX1":[["1","8","16","24"]],
  "EX2":[["0","100200","109f","ffffffff"]]
};

$(document).ready(function(){
  for (var index=1; index<=exCount; index++) {
    var cells  = $("#row"+index+" td");
    var values = data["EX"+index][0];

    for (var jndex=0; jndex<4; jndex++) {
      $(cells[jndex+2]).html(values[jndex]);
      $(cells[jndex+2]).html(values[jndex]);
    }
  }
});

More details for multiple EX, see jsfiddle: http://jsfiddle.net/9zr6z70g/7/ 有关多个EX的更多详细信息,请参见jsfiddle: http : //jsfiddle.net/9zr6z70g/7/

This code is suitable for me, but variable EX are more than one hundred. 这段代码适合我,但是变量EX超过一百。

var data = {
  "EX1":[["1","8","16","24"]],
  "EX2":[["0","100200","109f","ffffffff"]]
};

var data1 = data.EX1[0];
var data2 = data.EX2[0];

$(document).ready(function(){
  var row1cells = $("#row1 td");
  var row2cells = $("#row2 td");

 for (var index=0; index<4; index++) {
  $(row1cells[index+2]).html(data1[index]);
  $(row2cells[index+2]).html(data2[index]);
 }
});

I tried modify the code using for loop following. 我试着使用for循环修改代码。 This solution do not work correctly. 此解决方案无法正常工作。

var data = {
  "EX1":[["1","8","16","24"]],
  "EX2":[["0","100200","109f","ffffffff"]]
};

var data1 = data.EX1[0];
var data2 = data.EX2[0];

$(document).ready(function(){
for (j=1; j<4; j++) {
  var pom = "row"+[j]+"cells";
  var pom2 = "#row"+[j]+" td";
  var pom3 = "$"+'("'+pom2+'")';

  for (var index=0; index<4; index++) {
    $(pom3+[index+2]).html(data[j][index]);
    }
   }
 });

Can ask for help with modify? 可以寻求修改帮助吗? Thanks 谢谢

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM