2017-06-30 6 views
0

Ich habe ein J-Abfrage-Skript erstellt, um mir zu ermöglichen, die letzte Zeile einer Tabelle zu klonen, aber ich möchte 2 der Spalten auf dem Klon leer sein. Ich bin nur in der Lage, eines der Felder völlig zu leeren, jede Hilfe auf diesem würde sehr geschätzt werden.Löschen von spezifischen Feldern bei der Verwendung von JQuery Clone

html für die Tabelle:

<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-Abfrage, die Klon

$(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(''); 



      }); 
     }); 

erlaubt würde ich das auf Klon wie die driver_emp_Id0 und wInv_JobNo0 Werte empty.Please Notiz eingestellt werden, dass die IDs Die Klone werden um 1 auf dem Klon

+0

Ihre html keine Tabellenzeilen angezeigt hat? – aduss

+0

Entschuldigung, dass ich sie in –

+0

Aktualisiert meine Antwort, sollte gut sein, jetzt zu gehen. – aduss

Antwort

0

erhöht. Das Problem ist, dass jQuery standardmäßig Input-Select-Zeug nicht dupliziert.

Die zweite Antwort hier ist die, die ich für die Geige unten verwendet habe. Clone isn't cloning select values und ist mehr oder weniger ein Duplikat davon. Im Wesentlichen erstellt es eine neue Klonfunktion, die die Vals kopiert. Hier

ist die Arbeitslösung https://jsfiddle.net/t953917v/3/

$(cols[cols.length - 1]).find('select, input').val(""); 
$(cols[cols.length - 2]).find('select, input').val(""); 
+0

Ich habe dies versucht, aber es löscht alle Eingabefelder, wo ich versuche, nur ein Auswahlfeld und ein Eingabefeld zu löschen, die beide die letzten 2 Felder sind. Danke für den Vorschlag, Sie Zeit wird eine Anstrengung sehr geschätzt. –

+0

@JeremeySamaroo Entschuldigung, ich habe die Frage zunächst nicht verstanden. Die Lösung, die ich jetzt gepostet habe, macht den Trick. – aduss

Verwandte Themen