簡體   English   中英

jQuery將動態單元格添加到表中的靜態單元格

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

我想創建靜態/動態表。 該行的所有單元格<th>和前兩列<td>都是靜態的。 滿足我想使用jQuery腳本動態創建的其他單元格的內容。

我不知道如何開始。 我以JSON格式(數組)保存到單元格的數據為:

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

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>

每個<tr>中的靜態文本都是必需的,因為文本不在json文件中。 可以在創建JavaScript腳本方面尋求幫助嗎?

非常感謝

看到這個jsfiddle: http : //jsfiddle.net/9zr6z70g/3/

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]);
  }
});

對於多個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]);
    }
  }
});

有關多個EX的更多詳細信息,請參見jsfiddle: http : //jsfiddle.net/9zr6z70g/7/

這段代碼適合我,但是變量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]);
 }
});

我試着使用for循環修改代碼。 此解決方案無法正常工作。

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]);
    }
   }
 });

可以尋求修改幫助嗎? 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM