11
votes

Copier la liste des options de Dropdownlist. Jquyery

Code HTML

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

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


0 commentaires

4 Réponses :


29
votes
$('#dropdwon1 option').clone().appendTo('#dropdwon2');
jsfiddle link

5 commentaires

@ mola10: ça marche - la façon dont je l'ai écrit. Je viens d'ajouter un lien pour Jsfiddle. Pourquoi essayez-vous d'appeler val , texte et html sur une collection de 3 éléments quand ils sont des fonctions d'élément unique ???


@ Mola10 Il a raison, arrêtez de modifier le code et de prétendre que cela ne fonctionne pas.


Ça marche !, Thx. «Pourquoi essayez-vous d'appeler Val ...» - 2 heures du matin, fatigué, désolé.


Cela fonctionne bien! J'ai essayé sans le clone () et il l'enlève


Je viens de comprendre que si vous utilisez une variable de jQuery pour vous reporter à votre liste déroulante (par exemple, _dropdown1 = $ ("# <% = dropdown1.clientid%>");) alors vous pouvez cloner les éléments comme ceci: _ddlcolumnnnesames1.Find ("option"). Clone (). APPENDTO (_DDLLODROPDOW N2);



-1
votes

Essayez ceci:

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


1 commentaires

Ne fonctionne pas, * .Options est en lecture seule. Firebug Journal: Définir une propriété qui n'a qu'un getter;



0
votes

pouvez-vous le faire "clone" actuellement (pas initial) élément sélectionné aussi? XXX


0 commentaires

0
votes

clone JQuery est normalement la voie à suivre mais cela ne fonctionne pas bien avec des objets tels que Sélectionnez la chèque et la radio

Le travail autour consiste à définir les attributs HTML DOM avant de cloner ici. Voici comment je le fais P>

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' )


0 commentaires