Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将数据分配给<;td>;对多行使用javascript动态创建表?_Javascript_Html Table - Fatal编程技术网

如何将数据分配给<;td>;对多行使用javascript动态创建表?

如何将数据分配给<;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

我被标题中提到的问题陈述所困扰。我有一个场景,我在点击按钮时得到一个逗号分隔的数据,我想使用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 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代码如下所示

<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'
}, {
    // ...
}]