使用jquery clone

时间:2017-06-30 18:51:02

标签: javascript jquery

我创建了一个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

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("");