web-dev-qa-db-fra.com

Activer la zone de recherche à sélection multiple select2

Je dois pouvoir ajouter un champ de recherche à mes champs de sélection multiple à l'aide de select2.

Pour une raison quelconque, bien que les zones de recherche apparaissent comme prévu dans les champs à sélection unique, le même appel select2 () sur un champ à sélection multiple n'ajoute pas de zone de recherche.

var data = []; // Programatically-generated options array with > 5 options
var placeholder = "select";
$(".mySelect").select2({
    data: data,
    placeholder: placeholder,
    allowClear: false,
    minimumResultsForSearch: 5});

Select2 ne prend-il pas en charge les zones de recherche avec multi-sélections? Quelqu'un a-t-il une bonne alternative fonctionnant de manière similaire?

11
John Brink

La réponse est que l'élément d'entrée select2 devient la boîte de recherche pour les sélections multiples sans données d'arrière-plan

si vous commencez à taper, vos résultats commenceront à filtrer les options

si vous l'avez configuré pour charger des données ajax distantes, il conserve en fait une zone de recherche, mais pour plusieurs sélections sans source de données, l'entrée est la barre de recherche, ce qui est assez intuitif

https://select2.github.io/examples.html

11
Jay Rizzi

select2 v4.0.3

<select class="smartsearch_keyword" name="keyword[]" id="keyword" style="width:100%;"></select>

$(".smartsearch_keyword").select2({
    multiple: true,
    ...
});

De plus: à définir plusieurs sélections par défaut

8
Sadee

Si aucune des réponses ci-dessus ne vous convient (nouveaux venus), pensez à tout encapsuler entre $(document).ready(function() { // your select2 declaration here... }); Parfois, c'est un problème courant!

0
Waiyl Karim