2010-10-05 10 views
14

Come posso clonare l'elenco a discesa (combobox) con l'opzione selezionata?Copia/Clona elenco a discesa con l'opzione selezionata in jquery

jquery. Il metodo clone non funziona in firefox per l'opzione selezionata.

Ho un div con controlli diversi. Devo copiare l'intero div per un qualcosa di variabili come questo

var $orginalDiv = $('#myDiv'); 
var $clonedDiv = $orginalDiv.clone(); 

$clonedDiv.find('select').each(function() { 


....Something do here for assigning selected options from original div .. 

      }); 

Fatemi sapere come possiamo farlo fare e deve essere lavorato in FireFox.

+0

forse stai cercando questo, [il clone jquery non copia proprietà select dom] (http://stackoverflow.com/questions/3776270/jquery-clone-doesnt-copy-select-dom-properties) – Reigel

+0

@Reigel questo è per controllo singolo, ma ho bisogno di più dropdownlist. come posso assegnare val al codice domanda? – Brij

risposta

17
var $orginalDiv = $('#myDiv'); 
var $clonedDiv = $orginalDiv.clone(); 

//get original selects into a jq object 
var $originalSelects = $orginalDiv.find('select'); 

$clonedDiv.find('select').each(function(index, item) { 

    //set new select to value of old select 
    $(item).val($originalSelects.eq(index).val()); 

}); 

Prova ora a here jsfiddle

+0

Errore: $ originalSelects non è definito – Brij

+0

@brzdotnet sorry typo, corretto – redsquare

+0

+1 Non ero sicuro che l'indice avrebbe funzionato se 'select' non fosse fratello, ma [funziona] (http: // jsfiddle. net/kvzam /)! – Reigel

0

Puoi implementare un pulsante per clonare i menu a discesa?

+0

Sì, basta usare '$ (dropdown) .clone()' nel gestore dei clic del pulsante. –

+0

come cambiare il nome e la proprietà id del dropdown.i clonato usato $ (dropdown) .clone(). Attr ("name", "Skill"); ma non funziona :( – user3217843

0

Salve si dispone di un customedropdown con alcune maschera di immagine quindi semplice clone non verrà visualizzato un valore selezionato, per questo è necessario prima assegnare un valore selezionato di un menu a discesa al secondo discesa, e quindi chiamare un evento di cambiamento implicitamente come segue . $ ('seleziona [id * = cstate]'). Val ($ ("seleziona [id * = stato]"). Val()); $ ("# cstate"). Change();

Problemi correlati