Chosen: La réinitialisation multiple choisie ne fonctionne pas

Créé le 4 déc. 2013  ·  5Commentaires  ·  Source: harvesthq/chosen

En utilisant la ligne $(".chosen-select").val('').trigger("chosen:updated"); dans un script jquery ne réinitialise pas le champ de formulaire choisi. Cela fonctionne bien pour la liste déroulante unique cependant.

Commentaire le plus utile

Les sélections multiples attendent un tableau comme valeur, donc pour le réinitialiser à l'aide de jQuery, vous pouvez utiliser ce qui suit :

$('.chosen-select').val([]).trigger('chosen:updated')

Voir ici pour un exemple en direct : https://jsfiddle.net/koenpunt/L1sd259w/

Tous les 5 commentaires

Essayez ce qui suit :

$('.chosen-select option:selected').removeAttr('selected');
$('.chosen-select').trigger('chosen:updated');

J'ai essayé cela, mais le code HTML généré pour le multiple est différent de la sélection unique.
C'est ici.

<div class="chosen-container chosen-container-multi" style="width: 100%;" title="" id="users_chosen">
  <ul class="chosen-choices">
    <li class="search-choice">
      <span>Manus </span>
      <a class="search-choice-close" data-option-array-index="1"></a>
    </li>
    <li class="search-field">
      <input type="text" style="width: 25px;" autocomplete="off" class="" value="Choose users...">
    </li>
  </ul>
  <div class="chosen-drop">
    <ul class="chosen-results">
      <li data-option-array-index="1" style="" class="result-selected">Manus </li>
      <li data-option-array-index="2" style="" class="active-result">Owen </li>
      <li data-option-array-index="3" style="" class="active-result">Sean </li>
      <li data-option-array-index="4" style="" class="active-result">Sinead </li>
    </ul>
  </div>
</div>

Merci beaucoup pour cela, je cherchais cette option et j'avais posté sur le site StackOverflow, mais je n'ai reçu aucune réponse. On dirait que ce forum est plus actif :+1:

J'ai essayé de réinitialiser tout le formulaire avec quelque chose comme ça:

        var form = $('form');
    form.get(0).reset();
    form.find('.filterSelect').trigger('chosen:updated');

Mais j'ai le même problème ... pour les listes déroulantes simples, tout fonctionne bien. Mais les sélections multiples n'ont plus d'espace réservé.

Les sélections multiples attendent un tableau comme valeur, donc pour le réinitialiser à l'aide de jQuery, vous pouvez utiliser ce qui suit :

$('.chosen-select').val([]).trigger('chosen:updated')

Voir ici pour un exemple en direct : https://jsfiddle.net/koenpunt/L1sd259w/

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

jbrooksuk picture jbrooksuk  ·  6Commentaires

jim-at-miramontes picture jim-at-miramontes  ·  4Commentaires

scottdoc picture scottdoc  ·  7Commentaires

Scalamoosh picture Scalamoosh  ·  8Commentaires

mcclurem picture mcclurem  ·  4Commentaires