Ho bisogno di aggiungere più caselle di input per inserire i dati. Inizialmente ci sarà una sola casella di input e accanto a ogni casella di input generata c'è un pulsante "Aggiungi" per generare più caselle di testo.Aggiungere un div dinamico al clic
Se guardi il mio violino ci sono 3 livelli di caselle di testo nel 1 ° livello che ha l'opzione di inserire solo 1 livello di dati ma quando si tratta di livello 2, ci dovrebbe essere un'opzione per creare il secondo livello dello stesso genitore bloccare in modo che possiamo inserire i dati secondari dell'intestazione principale. Per esempio, se scrivo nome dello Stato, allora dovrei essere in grado di entrare categorie secondarie ..
Ecco il codice per il menu di livello 1 °
$(document).ready(function(){
$(":radio").click(function(){
$(".test").hide();
var show = $(this).attr("data-show");
$("#"+show).show(300)
});
$('.sort').hide();
$filtr = $('.filtr');
$filtr.on('click', '.add', function(){
$(this).closest('.loop').clone().appendTo($(this).closest('.test'));
$('.sort').show();
});
$filtr.on('click', '.del', function(){
$(this).closest('.loop').remove();
});
$('#1lev, #2lev, #3lev').hide();
//For sort up/down
function moveUp(item) {
var prev = item.prev();
if (prev.length == 0)
return;
prev.css('z-index', 999).css('position','relative').animate({ top: item.height() }, 250);
item.css('z-index', 1000).css('position', 'relative').animate({ top: '-' + prev.height() }, 300, function() {
prev.css('z-index', '').css('top', '').css('position', '');
item.css('z-index', '').css('top', '').css('position', '');
item.insertBefore(prev);
});
}
function moveDown(item) {
var next = item.next();
if (next.length == 0)
return;
next.css('z-index', 999).css('position', 'relative').animate({ top: '-' + item.height() }, 250);
item.css('z-index', 1000).css('position', 'relative').animate({ top: next.height() }, 300, function() {
next.css('z-index', '').css('top', '').css('position', '');
item.css('z-index', '').css('top', '').css('position', '');
item.insertAfter(next);
});
}
$(".filtr").sortable({ items: ".loop", distance: 10 });
$(document).on("click", "button.sort", function() {
var btn = $(this);
var val = btn.val();
if (val == 'up')
moveUp(btn.parents('.loop'));
else
moveDown(btn.parents('.loop'));
});
});
risultato richiesto
Come clonare class="filtr" div
come pannello di secondo livello che funziona esattamente come il pannello di primo livello?
struttura del codice attesi dovrebbero essere come questo
<div class="filtr">
<!-- we'll clone this one... -->
<div class="test" id="2lev">
<div class="loop">
<button value='up' class="sort">Up</button>
<button value='down' class="sort">Down</button>
<input type="text" />
<button class="btn del">x</button>
<button class="btn add">Add</button> <button class="btn level">></button>
<!--Need to add this div here-->
<div class="filtr">
<!-- we'll clone this one... -->
<div class="test">
<div class="loop">
<button value='up' class="sort">Up</button>
<button value='down' class="sort">Down</button>
<input type="text" />
<button class="btn del">x</button>
<button class="btn add">Add</button>
</div>
</div>
<!-- here ...-->
</div>
<!--Need to add this div here-->
</div>
</div>
<!-- here ...-->
</div>
Non capisco problema. Crea modello quindi aggiungilo a qualcosa e inserisci onclick? – ccd580ac6753941c6f84fe2e19f229
Se guardi il violino, fai clic sul pulsante di opzione di livello 2 e puoi vedere il pulsante Aggiungi accanto alla casella di inserimento. Facendo clic sul pulsante aggiungi si aggiunge una nuova casella di immissione, nello stesso modo in cui ho bisogno di mostrare il nuovo set di filtr div quando faccio clic su>, questo rappresenta il secondo livello della casella di testo – Sowmya
Btw, il tuo codice richiede qualche rielaborazione, bcs dopo facendo clic da lvl 2 a 1, i tuoi modelli di lvl 2 diventano lvl 1, ecco come farei, creare template per ogni livello come
quindi aggiungere nel tuo modulo come – ccd580ac6753941c6f84fe2e19f229