2010-12-13 4 views
9

Html-CodeKopieren Sie die Optionsliste aus der Dropdown-Liste. JQuery

<select id="dropdwon1"> 
<option value="1">Item1</option> 
<option value="2">Item2</option> 
<option value="3">Item3</option> 
</select> 

<select id="dropdwon2"></select> 

ich alle Optionen von Auswahlliste1 kopieren müssen dropdown2, mit jQuery. Ob es möglich ist, Inhalte einfach zu kopieren?

Antwort

27
$('#dropdwon1 option').clone().appendTo('#dropdwon2'); 

jsfiddle link

+0

@ mola10 zu kopieren: es funktioniert - so wie ich es geschrieben habe. Ich habe gerade einen Link für jsfiddle hinzugefügt. Warum versuchen Sie, "val", "text" und "html" auf einer Sammlung von 3 Elementen aufzurufen, wenn sie einzelne Elementfunktionen sind? –

+0

@ mola10 Er hat Recht, hör auf den Code zu ändern und behaupte, dass es nicht funktioniert. – troynt

+0

Es funktioniert !, thx. "... Warum versuchst du Val zu nennen ..." - 2 Uhr morgens, müde, tut mir leid. – mola10

-1

Try this:

$('#dropdwon2')[0].options = $('#dropdwon1')[0].options; 
+1

Funktioniert nicht, * .options ist schreibgeschützt. Firebug log: Einstellung einer Eigenschaft, die nur einen Getter hat; – mola10

0

Können Sie es "Klon" machen derzeit (nicht initial) auch ausgewählte Element?

$('#dropdwon1 option').eq(1).attr('selected', 'selected'); 
$('#dropdwon1 option').clone().appendTo('#dropdwon2');​ 
0

JQuery Klon ist normalerweise der Weg zu gehen, aber es funktioniert nicht gut mit Gegenständen wie Auswahlprüfung und Radio

Die Arbeit rund um die HTML-DOM-Attribute zu setzen ist, bevor hier das Klonen ist, wie ich mache es

var selects = $('form').find('select') ; 
selects.each (function () { 
var selvalue = $(this).val() ; 
var options = $(this).find('option') ; 
options.each (function() { 
    if ($(this).attr('value') == selvalue) 
     $(this).attr('selected' , true) ; 
    }); 
}) ; 
$('form').clone.appendTo('#target') 

das ausgewählte dom Attribut Einstellung auf true erlauben Klon den Wert effektiv

Verwandte Themen