Klonen habe ich folgende Javascript:ein DIV mit jQuery
$("div.duplicate-fields:last-child").clone().find('input').each(function() {
this.name = this.name.replace(/\[(\d+)\]/,function(str,p1){return '[' + (parseInt(p1,10)+1) + ']'});
this.value = "";
this.checked = false;
}).removeClass("active").end().appendTo("#duplicate-section");
Innerhalb einer .click()
Funktion. Das funktioniert gut. Allerdings habe ich den folgenden HTML-Code in dem geklonten Bereich:
<div class="btn-group" data-toggle="buttons"><label class="btn btn-default button-array "><input type="checkbox" name="select-sessions[3][1]" value="">Session 1</label>
<label class="btn btn-default button-array "><input type="checkbox" name="select-sessions[3][2]" value="">Session 2</label>
<label class="btn btn-default button-array "><input type="checkbox" name="select-sessions[3][3]" value="">Session 3</label>
<label class="btn btn-default button-array "><input type="checkbox" name="select-sessions[3][4]" value="">Session 4</label>
<label class="btn btn-default button-array active"><input type="checkbox" name="select-sessions[3][5]" checked="" value="">Session 5</label>
</div>
nun in die oben jQuery ich this.checked=false;
habe, das jede geklonte Checkbox deaktiviert macht. Aber leider Die label.button-array
hat immer noch die Klasse von active
, die es immer noch bedeutet, sieht aus wie es aktiviert ist. So
Ich veränderte meine jQuery-Funktion so aussehen:
$("div.duplicate-fields:last-child").clone().find('input').each(function() {
this.name = this.name.replace(/\[(\d+)\]/,function(str,p1){return '[' + (parseInt(p1,10)+1) + ']'});
this.value = "";
this.checked = false;
}).find("label.button-array.active").each(function() {
$(this).removeClass("active");
}).end().appendTo("#duplicate-section");
Beachten Sie die neue find()
Funktion auf den ersten hinzugefügt. Es scheint jedoch, den gesamten HTML aus dem Klon vollständig zu entfernen, und ich am Ende mit ein paar Eingabefelder und das ist es. Ich kann nicht herausfinden warum.
In diesem Bild, das Sie den ersten geklonten Bereich sehen kann, und dann nach dem Drücken der Taste (mit der neuen find()
Funktion hinzugefügt, wie oben dargestellt):
Helfen Sie mir Stack-Überlauf Sie, bin meine einzige Hoffnung.
Bitte geben Sie eine Geige mit Problemen wie Sie haben. – ebilgin