2017-10-21 2 views
0

Hallo Ich bin ein Anfänger in der Programmierung und stecke in einem Problem fest. Ich habe ein Formular geklont und möchte es jetzt bis auf das letzte Kind (Element) leeren. Ich habe Folgendes versucht, aber das funktioniert nicht.Ausführen einer Aktion für ein Formular, das dynamisch erstellt wurde

+1

'form.mynewform: nicht (: letzte)' wählt alle Formen mit dieser Klasse, die nicht das letzte Kind von _their_ Eltern sind. Sie möchten 'form.mynewform: not (: last)', um alle _children_ des Formulars auszuwählen, die nicht _its_ last child sind. (Nun, das würde tatsächlich '>' anstelle des Leerzeichens erfordern, ansonsten wählt es alle _descendants_, die nicht die letzten untergeordneten Elemente von _their_ jeweiligen Eltern sind. Welches genau Sie benötigen, hängt von Ihrer Formularstruktur ab.) – CBroe

+0

$ ('form. mynewform>: nicht (: last) ') .leer(); Du meinst, das sollte funktionieren? – Shaggy

+0

das funktioniert nicht – Shaggy

Antwort

0

Ich weiß nicht, ob ich klar verstanden Sie Problem und was Sie brauchen, um zu erreichen, aber hier ist etwas.

$("button").on("click", function(e){ 
 
    var $el = $('#to-clone').clone(); 
 
    $el.find("input:not(:last-child)").remove(); 
 
    $el.appendTo('#destination'); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="to-clone" style="border:1px solid;"> 
 
<input type="text" value="1"/> 
 
<input type="text" value="2"/> 
 
<input type="text" value="3"/> 
 
<input type="text" value="4"/> 
 
</form> 
 
<button>clone</button> 
 
<div id="destination" style="padding:10px;background:red;"> 
 
fff 
 
</div>

+0

Das war was ich wollte. Aber Sie haben nur die Eingabe festgelegt. Wie kann ich alles außer dem letzten Element entfernen? – Shaggy

+0

ersetzen Eingang mit * (Stern) –

+0

Es funktioniert. Danke: D – Shaggy

Verwandte Themen