Also im Grunde habe ich versucht, einige jQuery zu schreiben, die eine Reihe von Eingaben auf Klick hinzufügen und duplizieren, funktioniert alles perfekt, außer für diese.Hinzufügen, Duplizieren und Entfernen von Elementen mit jQuery
Illustration des Problems:
Wenn Sie auf die Schaltfläche Entfernen traf es verlässt die unter ‚Feld hinzufügen‘ -Button, ich würde es gerne wieder in die Zeile nach oben bewegen, wie oben gezeigt.
Html:
<form action="javascript:void(0);" method="POST" autocomplete="off">
<input type="submit" value="Submit">
<br>
<br>
<div class="bigjane">
<button class="add">Add Field</button><input type="text" name="input_0" placeholder="Input1"><input type="text" name="input_0" placeholder="Input2"><input type="text" name="input_0" placeholder="Input3"><input type="button" class="duplicate" value="duplicate"><input type="button" class="remove" value="remove"><br>
</div>
</form>
jQuery:
jQuery(document).ready(function() {
'use strict';
var input = 1,
button = ("<button class='add'>Add Field</button>");
$('.add').click(function() {
$(this).clone(true).appendTo('form');
$(this).remove();
$('form').append('<input type="text" name="input_' + (input) + '"placeholder="Input1">');
$('form').append('<input type="text" name="input_' + (input) + '"placeholder="Input2">');
$('form').append('<input type="text" name="input_' + (input) + '"placeholder="Input3"><input type="button" class="duplicate" value="duplicate"><input type="button" class="remove" value="remove"><br>');
input = input + 1;
});
$('form').on('click', '.remove', function() {
$(this).prev('input').remove();
$(this).prev('input').remove();
$(this).prev('input').remove();
$(this).prev('input').remove();
$(this).next('br').remove();
$(this).remove();
input = input - 1;
});
$('form').on('click', '.duplicate', function() {
$('.add').attr('id', 'add');
$('#add').removeClass().appendTo('form');
$(this).prev().prev().prev('input').clone().appendTo('form');
$(this).prev().prev('input').clone().appendTo('form');
$(this).prev('input').clone().appendTo('form');
$('form').append('<input type="button" class="duplicate" value="duplicate"><input type="button" class="remove" value="remove"><br>');
input = input + 1;
});
});
Ich habe eine die Antwort für dieses Gefühl etwas einfach, danke im voraus sein wird!
Hey Julien, das funktioniert großartig und ich Ich schätze, Sie vereinfachen die jQuery. Ich dachte, ich hätte es kompliziert gemacht für das, was es sein musste. Auch wenn Sie den "Duplizieren" -Button drücken, wie kann ich ihn direkt unterhalb der Zeile, die du duplizierst, setzen, anstatt ihn ganz unten zu platzieren? – Jordan
Danke ein Haufen Mann, gute Arbeit! :) – Jordan
Ich habe mich mit der jQuery beschäftigt, die Sie für mich bearbeitet haben, und verschiedene Möglichkeiten zum Ausrichten der Eingänge ausprobiert. Gibt es eine einfache Möglichkeit, die Eingänge wie hier abgebildet auszurichten? - [screenshot] (http://gyazo.com/ed24fbcb3c5bd96b49fa84149fe2d0fe) – Jordan