如何将数据分配给<;td>;对多行使用javascript动态创建表?
我被标题中提到的问题陈述所困扰。我有一个场景,我在点击按钮时得到一个逗号分隔的数据,我想使用javascript将该数据分配给表的td元素 请参阅以下代码:如何将数据分配给<;td>;对多行使用javascript动态创建表?,javascript,html-table,Javascript,Html Table,我被标题中提到的问题陈述所困扰。我有一个场景,我在点击按钮时得到一个逗号分隔的数据,我想使用javascript将该数据分配给表的td元素 请参阅以下代码: // Consider we have data in comma split format in x array. // For ex: the data in x array is {1,2,3}{4,5,6}{7,8,9} i.e. 3rows // Now I want to assign that to td1, td2 and
// Consider we have data in comma split format in x array.
// For ex: the data in x array is {1,2,3}{4,5,6}{7,8,9} i.e. 3rows
// Now I want to assign that to td1, td2 and td3 of the table
// In function I'm looping the data as below where I'm directly assigning
// the data to the td1,td2,td3 id of the table.
for (i = 0; i < x.length; i++) {
// alert(x[i]);
document.getElementById('td1').innerHTML = x[i++];
document.getElementById('td2').innerHTML = x[i++];
document.getElementById('td3').innerHTML = x[i++];
}
<代码> / /考虑我们在x数组中有逗号分割格式的数据。
//例如:x数组中的数据是{1,2,3}{4,5,6}{7,8,9},即3行
//现在我想把它分配给表的td1、td2和td3
//在函数中,我循环数据,如下所示,我直接分配
//将数据传输到表的td1、td2、td3 id。
对于(i=0;i<html>
<body>
<table class='tbl-qa'>
<thead>
<tr>
<th class='table-header' width='20%'>Title</th>
<th class='table-header' width='40%'>Description</th>
<th class='table-header' width='20%'>Date</th>
</tr>
</thead>
<tbody id='table-body'>
<tr class='table-row' id = 'table-row'>
<td id = 'td1'>''</td>
<td id = 'td2'>''</td>
<td id = 'td3'>''</td>
</tr>
</tbody>
</table>
</body>
</html>
标题
描述
日期
''
''
''
有人能帮我解决这个问题吗?
注意-我想强制将数据分配到表行分区的td。您的数据对我来说没有意义,它无效。我只是把它放在3个字符串现在,你可以让我知道,如果这是不可接受的。下面是如何将
元素动态设置为一行
var数据=[“1,2,3”,“4,5,6”,“7,8,9”];
对于(i=0;i
标题
描述
日期
新行将始终使用当前设置替换旧行
这是因为您引用的是“td1”、“td2”和“td3”,它们应该只在脚本中出现一次。你需要动态ID来完成这项工作
例如,您可以在PHP中使用:(此示例不包括转义函数,出于安全原因需要转义函数)
$query=“从示例中选择*”;
$get\u example\u query=mysqli\u query($connection,$query);
while($row=mysqli\u fetch\u assoc($get\u example\u query)){
$id=$row['id']
$content=$row['content'];
回声“;
回显“$content”;
回声”;
}
我假设您的数据如下所示:
[{
title: 'Title',
description: 'Description',
date: 'Date'
}, {
// ...
}]
您可以动态创建
元素,而无需将它们添加到HTML中。创建将在数据循环中进行
let数据=[{
标题:“T1”,
描述:‘D1’,
日期:“DT1”
}, {
标题:“T2”,
描述:“D2”,
日期:“DT2”
}, {
标题:“T3”,
描述:'D3',
日期:“DT3”
}];
让tbody=document.getElementById('table-body');
让tr,td,;
data.forEach((元素)=>{
tr=document.createElement('tr');
for(让输入元素){
if(element.hasOwnProperty(key)){
td=document.createElement('td');
td.innerHTML=元素[key];
tr.appendChild(td);
}
}
t附肢儿童(tr);
});
标题
描述
日期
你那里只有3个td元素。你希望总共有9个吗?在接下来的3个元素中进行拆分?如果你使用的是mysqli,你不应该使用逃逸功能。你应该准备你的声明。与这个答案不相关,因为我特别说过它不包括在内。我只是为了你自己的安全让你知道。请注意e函数!=正在准备
[{
title: 'Title',
description: 'Description',
date: 'Date'
}, {
// ...
}]