2009-12-12 2 views
0

J'ai un code jQuery qui copie les valeurs sélectionnées d'une zone de liste à l'autre:jquery - ajoute des valeurs d'une liste à une autre, mais n'inclut pas les lignes vides?

$(adPerson + " option:selected").each(function(){ 
    $(toNames).append($(this).clone()); 
});  

Je suis en train de vous assurer qu'aucune des lignes vides sont ajoutées à la zone de liste de destination, alors j'ai essayé ceci:

$(adPerson + " option:selected").each(function(){ 
     if($(this).text != "") 
     { 
    $(toNames).append($(this).clone()); 
     } 
}); 

Le code ci-dessus ne fonctionne pas - je pense que c'est en raison de la façon dont .each est utilisé.

Des idées?

Derek

Répondre

2

Tout d'abord, vous devez utiliser text() au lieu de text si vous voulez tester cette façon. C'est une fonction, pas une propriété.

Cependant, tout ce que vous devez utiliser est le :not(:empty) sélecteur jQuery:

$(adPerson + " option:selected:not(:empty)").each(function(){ 
    $(toNames).append($(this).clone()); 
}); 

Vous pouvez simplifier davantage en utilisant ceci:

$(toNames).append($(adPerson + " option:selected:not(:empty)").clone()); 
+0

Merci - qui semble assez facile! Derek – Derek

Questions connexes