web-dev-qa-db-fra.com

Obtenir une liste des valeurs sélectionnées dans un contrôle ListBox

Il y a déjà une question avec une tonne de votes pour obtenir la valeur sélectionnée d'un menu déroulant à l'aide de jQuery ici .

Cette réponse fonctionne presque pour une liste, mais si plusieurs valeurs sont sélectionnées, le résultat est une chaîne unique avec toutes les valeurs concaténées. Ce n'est pas utile. J'ai besoin d'une collection (liste, tableau, peu importe) des valeurs de texte pour chaque option sélectionnée.

Pour le moment, je pense utiliser la majeure partie de la réponse de cette autre question, mais sans la .text() à la fin, puis parcourir les correspondances. De meilleures idées?

6
DCShannon

Vous pouvez prendre plusieurs boucles sélectionnées text en itérant, comme indiqué ci-dessous.

$('#f1').click(function(){    
   var rr = []; 
   $('.selectpicker :selected').each(function(i, selected){ 
        rr[i] = $(selected).text(); 
    });
    alert(rr);
});

OU si vous voulez utiliser c'est valeur , écrivez simplement.

$('.selectpicker').val();

Démo

10
Sadikhasan

Vous pouvez utiliser comme ci-dessous:

var selectedVal= []; 
$('#multiple :selected').each(function(i, selected){ 
   selectedVal[i] = $(selected).text(); 
   alert(selectedVal[i]);
});

Voici tutoriel et exemple

1
Butani Vijay