10
votes

Sélectionnez les valeurs par défaut pour plusieurs tags sélectionnés et autorisés

J'ai une option SELECT 2 MULTI-SELECT

var s2 = $("#selectEvents").select2({
    placeholder: "Choose event type",
    tags: true
});

s2.val(["Trade Fair", "CA", "Party"]).trigger("change"); //CA doesn't show as a default


1 commentaires

Voir cette autre réponse ici: Stackoverflow.com/a/42576487/1635774


3 Réponses :


15
votes

Faire un peu de creuser, je peux voir ce problème soulevé sur Github .

Une option est de vérifier si la valeur existe si la valeur existe et Ajoutez code> si cela ne le fait pas. P>

p>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.css" rel="stylesheet"/>

<select multiple name="event_type[]" class="form-control" id="selectEvents">
  <option>Trade Fair</option>
  <option>Party</option>
  <option>Foo</option>
  <option>Bar</option>
</select>


0 commentaires

1
votes

J'ai récemment dû mettre en œuvre un Select2 avec des options 'multiple' et 'Tags' dans un script PHP et a rencontré un problème similaire. La documentation a déclaré ajouter toutes les sélections initiales en tant que balises options HTML, mais lorsque j'ai essayé d'ajouter deux, un seul apparaîtrait dans ma commande SELECT2.

J'ai fini par initialiser la commande SELECT2 avec l'option "Données" de configuration, que je créerais de manière dynamique. p>

p>

<div>
    <label for="properties">Properties</label>
    <select name="properties[]" id="properties">
    </select>
</div>


0 commentaires

1
votes

Un autre moyen simple est de la valeur définie pour sélectionner l'option et le faire SELECT2 Encore: p>

$('#province').val(["3", "4", "5"]).trigger('change');

0 commentaires