web-dev-qa-db-fra.com

L'événement de changement de plugin choisi ne déclenche pas

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?

22
user3093453

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 .

19
Soundar

Essaye ça:

$(document).ready(function(){
    $("selector").chosen().change(function(){
        var id = $(this).val();
    });
})
18
ace313

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");
7
AkshayKumar

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');
1
Milind Anantwar
    //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());
        }
0
Muddassir Irahad