J'ai un tas de select
dans un formulaire avec lequel J'utilise le plugin Jquery Chosen. . Comment puis-je réinitialiser le formulaire ? Ce qui suit ne fonctionne pas :
<input type="reset" />
J'ai un tas de select
dans un formulaire avec lequel J'utilise le plugin Jquery Chosen. . Comment puis-je réinitialiser le formulaire ? Ce qui suit ne fonctionne pas :
<input type="reset" />
Vous devrez réinitialiser la valeur du champ, puis déclencher la fonction liszt:updated
sur l'entrée pour qu'elle soit mise à jour, j'ai fait un bricolage avec un exemple fonctionnel ici.
$(".chzn-select").chosen();
$('a').click(function(){
$(".chzn-select").val('').trigger("liszt:updated");
});
Depuis la sortie de chosen v1.0, le déclencheur s'appelle désormais "chosen:updated". Toute personne utilisant cette nouvelle version doit déclencher la mise à jour en utilisant
$(".chosen-select").val('').trigger("chosen:updated");
Bonne réponse ! Avec la dernière version de Chosen, cela devrait être "("chosen:updated")".
Excellente réponse ! Mais est-il possible de réinitialiser et d'afficher à nouveau l'espace réservé d'origine ?
Cela ne fonctionne toujours pas. Je remplace dynamiquement mon select via des appels Ajax (méthode jQuery load()). Puis j'émets un nouveau chosen().trigger("chosen:updated") ; et cela ne fonctionne pas. La recherche choisie ne fonctionne toujours pas sur le nouveau select.
Cela devrait être la bonne réponse en raison des changements. Aucune des autres solutions que j'ai trouvées ne fonctionne correctement. Merci.
Mais pas le travail ! Si le select est dinamiquement remplacé par un autre select (méthode jQuery load()) avec le même id/nom, la recherche cesse de fonctionner sur le nouveau select. J'ai essayé d'appeler .chosen() sur la nouvelle sélection, d'appeler .chosen('destroy'), d'appeler .trigger("chosen:updated"), et des combinaisons de ceux-ci.
Utiliser form.reset() puis déclencher chosen:update est la meilleure solution, surtout si vous souhaitez présenter le formulaire tel qu'il était affiché à l'origine. L'activation de .val('') ne ramène pas le formulaire aux valeurs par défaut.
Parfois, vous devez réinitialiser la sélection sur laquelle l'élu est appelé.
Je fais ça
jQuery.fn.chosen_reset = function(n){
$(this).chosen('destroy');
$(this).prop('selectedIndex', 0);
$(this).chosen(n)
}
Et appelez cette fonction comme ceci, avec les options comme argument
$('select').chosen_reset({width:'369px'});
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
2 votes
Vous devez changer votre réponse acceptée par la réponse de Jack O'Neill. Les autres solutions ne fonctionnent plus.
1 votes
Veuillez changer vos réponses acceptées en réponses de Jack O'Neill. car la dernière version déclenchée s'appelle maintenant :updated
1 votes
@Jame & Well wisher : Ce n'est pas comme si nous allions changer toutes les réponses aux questions sur ce site à chaque mise à jour d'un plugin. La solution était correcte à l'époque. RobertWaddell a mis un commentaire sur la réponse, je crois que c'est la voie à suivre.