J'utilise Chosen jQuery plugin et j'ai remarqué que l'événement change
fonctionne seulement lorsque la page est chargée, ET NON chaque fois que le champ input
est modifié.
Comment puis-je le faire fonctionner chaque fois que l'utilisateur modifie la valeur du champ de saisie?
Voici mon code:
$("#day").chosen().change({
console.log('working');
});
Est-ce que je manque quelque chose?
Pour déclencher l'événement de modification standard, utilisez la méthode suivante:
$('#day').on('change', function(e) {
// triggers when whole value changed
console.log("value changed");
});
Pour déclencher l'événement à chaque pression de touche,
$('#day').on('keyup', function(e) {
// triggers when each key pressed
console.log("key pressed");
});
Pour connaître les événements par défaut de choisis, référez-vous ici .
Essaye ça:
$(document).ready(function(){
$("selector").chosen().change(function(){
var id = $(this).val();
});
})
Mise à jour choisie de manière dynamique
Si vous devez mettre à jour les options dans votre champ de sélection et que vous souhaitez que Chosen prenne en compte les modifications, vous devez déclencher l'événement "choisi: mis à jour" sur le champ. L'élu se reconstruira en fonction du contenu mis à jour.
$ ("# foo"). trigger ("choisi: mis à jour");
Puis écrivez-le dans l'événement keyup de l'entrée:
$('inputselector').keyup(function() {
$("#day").chosen().change({
console.log('working');
});
});
et sur dom ready:
$('inputselector').trigger('keyup');
//Asp.net dropdown listbox
<asp:ListBox ID="CompanySelect" runat="server" AppendDataBoundItems="true"
AutoPostBack="true"
data-placeholder="Select Companies" class="chosen-select" SelectionMode="Multiple"
EnableViewState="true" Height="39px" Width="99%" >
<asp:ListItem Value="0">All</asp:ListItem>
</asp:ListBox>
//This code help me for hiting chozen change event.
$('#chosen').val('').change()
{
alert("working");
}
//if you want to get select value you need to do this.
$('#chosen').val('').change()
{
alert($(".chosen-select").val());
}