【发布时间】:2018-04-16 10:51:01
【问题描述】:
如标题所述。我已经用下面的代码克隆了一个 HTML TR:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#add1").click(function() {
$('#oldDevTable tbody>tr:last').clone(true).insertAfter('#oldDevTable tbody>tr:last');
$('#oldDevTable tbody>tr:last #stock').val('');
$('#oldDevTable tbody>tr:last #hand').val('');
$('#oldDevTable tbody>tr:last #returned').val('');
$('#oldDevTable tbody>tr:last #received').val('');
$('#oldDevTable tbody>tr:last #stockhand').val('');
$('#oldDevTable tbody>tr:last #request').val('');
$("#oldDevTable tbody>tr:last").each(function() {this.reset();});
return false;
});
});
我面临的问题是,当我使用克隆的 TR 中的信息(这是基本文本输入)并单击提交按钮时,它只发送最后一个 TR 的 SQL 数据。我需要它为该表单的每个 TR 发送单独的 SQL INSERT 命令。我对 JQuery 不了解,我可能需要为每个克隆创建一个新 ID 或其他东西,如果 id = example,则发送 SQL。但是,我至今无法做到这一点。
非常感谢任何帮助?
(SQL 显然是在 PHP 中调用的,因为这是一个 PHP 网站,它也在内部运行带有 HTML 元素的脚本)
编辑:
DOM 选择源:
<a class="button" id="add1">+</a>
<label>Old Devices/Removed from Site</label>
<form action="?action" method="post">
<table id="oldDevTable" style="width:100px; align:center" class="center">
<tbody>
<tr>
<td>
<select name="Devices_Removed_From_Site">
<option value="example">Example</option>
</select>
</td>
<td>
<input id="hand" name="prevWeek" placeholder="On hand prev week" type="text">
</td>
<td>
<input id="stock" name="usedStock" placeholder="Stock used" type="text">
</td>
<td>
<input id="returned" name="returnedStock" placeholder="Stock returned" type="text">
</td>
<td>
<input id="received" name="receivedStock" placeholder="Stock received" type="text">
</td>
</tr>
【问题讨论】:
-
所以所有生成的输入都有相同的ID,对吧?是的,这应该改变。但是根据您的描述,我希望第一个 tr 中的数据将被提交而不是最后一个。所以也许还有其他事情发生。你能提供一个生成的 HTML 的样例吗? (例如,在 Firefox 中,选择表格并执行“查看选择源”。)
-
我已经编辑并添加了我认为您正在寻找的内容?