Par exemple, j'ai 2 enregistrements présélectionnés comme le montre la capture d'écran ci-dessous.

J'ai remarqué que aria-selected="true" pour ceux sélectionnés.

Comment puis-je le trouver par title et le supprimer/réinitialiser afin qu'il ne fasse pas partie des éléments actuellement sélectionnés.

Merci d'avance.

enter image description here

0
aldrien.h 19 mars 2019 à 11:24

2 réponses

Meilleure réponse

select2 a un lien vers un élément <select> particulier dans DOM. Donc, vous devez d'abord modifier l'option de sélection, puis déclencher l'événement change de select2
Pour changer le texte option, vous pouvez aimer ceci

<select id="mySelect">
  <option value="option1">Text</option>
</select>

var $select2 = $("#mySelect").select2();
$('#mySelect option[value="option1"]').text = 'Another text';

Et puis déclencher l'événement change pour select2 :

$select2.trigger("change");

Retirer l'objet

$('#mySelect option[value="option1"]').remove();
$select2.trigger("change");

Sélectionnez une option

$select2.val("option1").trigger("change");

Sélectionnez plusieurs options

$select2.val(["option1", "option2"]).trigger("change");

Supprimer un sélectionné

Si vous devez supprimer une option déjà sélectionnée, vous devez obtenir les options sélectionnées, en supprimer une et définir de nouvelles options sur select2.

var sel = $select2.val(); // array
sel.splice(sel.indexOf("option1"), 1);
$select2.val(sel).trigger("change");
0
Alex 19 mars 2019 à 08:56

Je pense que cela devrait fonctionner:

$('#idSelect option[title="myTitle"]').first().remove();

J'espère que cela aide.

1
Corentin MERCIER 19 mars 2019 à 09:00