Disons que j'ai cette boîte de sélection:erreur Select2 sur l'étiquette lorsque la valeur est pas la même que la valeur d'affichage
<select id="example" multiple="multiple" style="width: 300px">
<option selected value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
Pour communiquer avec beaucoup d'autres parties du site, la valeur ne peut être modifiée. Ceci est juste pour l'exemple de démonstration, le cas d'utilisation réel est quelque chose de plus compliqué et la valeur d'affichage doit être différente avec la valeur réelle du formulaire qui va être soumis.
Pour permettre la saisie semi-automatique et l'ajout d'une nouvelle étiquette, sélectionnez2 est utilisé.
$('#example').select2({
placeholder: 'Select a month',
tags: true,
tokenSeparators: [',', ' ']
});
Le problème est que lorsque vous tapez le nom complet du mois, comme « Janvier », puis appuyez sur l'espace, au lieu de sélectionner l'option existante « Janvier » (qui est ce que je m'y attendais), il crée juste une nouvelle étiquette avec la valeur January
. Après quelques tests répétés, j'ai constaté que cela arrivait juste quand la valeur réelle n'est pas la même que la valeur d'affichage. Y a-t-il un moyen de garder les deux valeurs différentes mais de choisir l'option déjà existante?
Je pense que vous avez besoin d'un type '' January' et January' vous ne souhaitez que 'January' d'être sélectionné. Ainsi vous pouvez filtrer le résultat qui est là en option et négliger les résultats indésirables. –