jquery - 如何使用 jquery 将选定行中的数据复制到另一个表中的文本框?
问题描述
我有两张桌子。第一个表显示我的产品,另一个表充当购物车,因此当客户从table1
它的数据(名称、价格等)中选择产品时,将被复制到第二个表的文本框中。
我的问题:如何在使用 jQuery时仅复制所选行的数据table1
并将它们附加到文本框中?table2
这是表1:
<table id="table1" style="width:100%" border="0" cellpadding="0" cellspacing="0">
<thead >
<tr >
<th>Bar-code</th>
<th>Product_Name</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr role="row" class="selected" style="border:1px solid black;">
<td >545333456</td>
<td>Galaxy S9</td>
<td>700</td>
</tr>
<tr role="row" class="odd" style="border:1px solid black;">
<td>407654</td>
<td>SD 64G </td>
<td>700</td>
</tr>
<tr role="row" class="selected" style="border:1px solid black;">
<td>876543</td>
<td>Galaxy S5</td>
<td>700</td>
</tbody>
</table>
<button href="#" class="btn btn-success" data-panelId2="model23" id="copy1">
Add
</button>
这是表2:
<table id="tb2" cellpadding="0" cellspacing="0" border="1">
<thead>
<tr>
<th>Bar-code</th>
<th>Product_Name</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" id="Barcode" /></td>
<td><input type="text" id="txtName" /></td>
<td><input type="text" id="Price" /></td>
</tr>
</tbody>
</table>
解决方案
$('#copy1').click(function() {
let tbody = $('#tb2 tbody')
$('.selected').each(function(index) {
let cells = $(this).children();
let tr = $('<tr>');
tr.append($('<td>').append($('<input>').val($(cells[0]).text()).attr('id', 'Barcode' + index)));
tr.append($('<td>').append($('<input>').val($(cells[1]).text()).attr('id', 'txtName' + index)));
tr.append($('<td>').append($('<input>').val($(cells[2]).text()).attr('id', 'Price' + index)));
tbody.append(tr)
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="table1" style="width:100%" border="0" cellpadding="0" cellspacing="0">
<thead >
<tr >
<th>Bar-code</th>
<th>Product_Name</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr role="row" class="selected" style="border:1px solid black;">
<td >545333456</td>
<td>Galaxy S9</td>
<td>700</td>
</tr>
<tr role="row" class="odd" style="border:1px solid black;">
<td>407654</td>
<td>SD 64G </td>
<td>700</td>
</tr>
<tr role="row" class="selected" style="border:1px solid black;">
<td>876543</td>
<td>Galaxy S5</td>
<td>700</td>
</tbody>
</table>
<button href="#" class="btn btn-success" data-panelId2="model23" id="copy1">
Add
</button>
<table id="tb2" cellpadding="0" cellspacing="0" border="1">
<thead>
<tr>
<th>Bar-code</th>
<th>Product_Name</th>
<th>Price</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
推荐阅读
- python - Python Pandas:如果条件为真,则将现有列值放入新列
- c - 音频初始化很好,但 SDL_GetNumAudioDevices(0) 报告 0 个设备 - Ubuntu 20.04
- python - 将 DataFrame 行中的 NaN 值替换为基于(非唯一)列值的其他行中的值
- python - 无法将动态类与 concurrent.futures.ProcessPoolExecutor 一起使用
- python - 传输 tkinter 条目结果
- javascript - 如何将js脚本嵌入到html中
- css - 为什么 justify-items 取消网格中的 1fr?
- json - 如何将此对象从json反序列化为字符串?
- wordpress - 删除特定分类类型的 paging_base
- java - 从 build.gradle 访问 java 类的变量