我创建了一个j查询脚本,允许我克隆表的最后一行,但我希望克隆上有两列是空的。我只能完全清空其中一个字段,对此我们将不胜感激。
表格的HTML:
<tbody>
<tr>
<td><input id="wInv_work_Id0" name="wInv_work_Id0" type="text" readonly="true" value="<%=rswork2.getString(1)%>"></td>
<td><select id="invTru_Type0" name="invTru_Type0" onchange="getTruckPlates(this.value, this.id)">
<option disabled selected hidden value="">Select A Truck Type</option>
<%while(rsinvTru1.next()){%>
<option><%=rsinvTru1.getString(1)%></option>
<%}%>
</select> </td>
<td><select class="selectLp" id="invTru_LicensePlateNo0" name="invTru_LicensePlateNo0" >
<option disabled selected hidden value="">Select A Truck</option>
</select></td>
<td><select id="driver_emp_Id0" name="driver_emp_Id" >
<option disabled selected hidden value=""></option>
</select></td>
<!--<td><input id="driver_emp_Id0" name="driver_emp_Id0" value=" " readonly="true" type="text"></td>-->
<td><input id="wInv_JobNo0" name="wInv_JobNo0" type="text"></td>
</tr>
</tbody>
j允许克隆的查询
$(document).ready(function () {
$("#btn_AddTruck").click(function () {
var $tableBody = $('#tbl_invTruck').find("tbody"),
$trLast = $tableBody.find("tr:last"),
$trNew = $trLast.clone();
// Find by attribute 'id'
$trNew.find('[id]').each(function () {
var num = this.id.replace(/\D/g, '');
if (!num) {
num = 0;
}
// Remove numbers by first regexp
this.id = this.id.replace(/\d/g, '')
// increment number
+ (1 + parseInt(num, 10));
});
$trLast.after($trNew);
$trNew.find('select').val('');
});
});
我希望在克隆时将driver_emp_Id0和wInv_JobNo0值设置为空。请注意克隆上的克隆的ID增加1
答案 0 :(得分:0)
所以问题是默认情况下jquery不会重复输入选择内容。
这里的第二个答案是我用于下面小提琴的那个。 Clone isn't cloning select values并且或多或少与此重复。基本上它创建了一个新的克隆函数,它将复制val。
这是工作解决方案 https://jsfiddle.net/t953917v/3/
$(cols[cols.length - 1]).find('select, input').val("");
$(cols[cols.length - 2]).find('select, input').val("");