我有一个场景,其中有一个4行的表,第4行是一个文本框。当一个" onchange"触发文本框的事件,我想将同一特定行的单元格中的数据提取到另一个表中。当然,我的桌子由一行以上组成。
<div class="ProductsTable">
<table class="tablestyle">
<tr>
<th>Item</th>
<th>Price</th>
<th>Preview</th>
<th class="auto-style4">Quantity</th>
<th class="auto-style15">Selected Items</th>
</tr>
<tr id="row1">
<td class="auto-style1" id="item_name">Sofa</td>
<td class="auto-style2" id="item_price">$280.00</td>
<td class="auto-style3">
<img class="itemimage" src="images\sofa1.jpg" />
</td>
<td class="auto-style4">
<input class="quantitybox" id="item_quantity" type="text" onchange="get_quantity();" />
</td>
<td rowspan="10">
<table class="InvoiceTable" id="invoice">
<tr>
<th class="auto-style7">Item</th>
<th class="auto-style2">Price</th>
<th class="auto-style4">Quantity</th>
</tr>
</table>
</td>
</tr>
</table>
</div>
我的javascript是:
function get_quantity() {
var table = document.getElementById("invoice");
var row = table.insertRow(1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2)
cell1.innerHTML = document.getElementById("item_name").innerHTML;
cell2.innerHTML = document.getElementById("item_price").innerHTML;
cell3.innerHTML = document.getElementById("item_quantity").value;
}
如何在&#34; onchange&#34;上创建一个循环来检查我的所有表格。事件被触发。因为我的表中实际上有10行。 最好不要使用jquery。
答案 0 :(得分:0)
如果我理解正确,您正在寻找一种功能,将已更改行的内容(即每列中的数据)复制到发票表中。
我希望通过某种迭代动态创建行。在迭代时,我希望有一个唯一的数字可用,为什么它可以用作通用选择器。
这是一个执行此操作的功能:
Job.update(
{
_id: req.params.job_id,
},
{
$set: {'candidates.$.status': 'Accepted'} ,
}, function(err, count) {
if (err) return next(err);
callback(err, count);
});
您可以通过使用类function get_quantity(rowNumber) {
var table = document.getElementById("invoice" + rowNumber);
var row = table.insertRow(1);
var columns = document.getElementById("row" + rowNumber).childNodes;
var dataColumnIndex = 0;
for (var i = 0; i < columns.length; i++) {
if (columns[i].className == "data") {
var cell = row.insertCell(dataColumnIndex);
cell.innerHTML = columns[i].innerHTML;
dataColumnIndex++;
}
}
var inputQuantity = document.getElementById("item_quantity" + rowNumber).value
row.insertCell(dataColumnIndex).innerHTML = inputQuantity;
}
标记要复制的列来选择要复制的列。
我通过期望它具有标识data
来获取发票表。 FX。 invoice + number
。每行和输入字段也是如此。
这是plunker with a full example。
应该只有一个发票表,其中添加了所有产品。 通过在函数中为行插入选择相同的表,这是固定的。