95 votes

Evénement de changement de déclenchement du menu déroulant

Je veux déclencher l'événement de modification de la liste déroulante dans $ (document) .ready en utilisant jquery.

J'ai un menu déroulant en cascade pour le pays et l'état dans la page de détails de l'utilisateur. Comment puis-je définir la valeur (qui provient de la base de données en fonction de l'ID utilisateur) pour le pays et l'état dans MVC avec C #.

198voto

Christophe Eblé Points 4606

Je ne connais pas beaucoup JQuery mais j'ai entendu dire que cela permettait de déclencher des événements natifs avec cette syntaxe.

 $(document).ready(function(){

    $('#countrylist').change(function(e){
       // Your event handler
    });

    // And now fire change event when the DOM is ready
    $('#countrylist').trigger('change');
});
 

Plus d'informations ici .

12voto

mlnyc Points 594

Essaye ça:

 $(document).ready(function(event) {
    $('#countrylist').change(function(e){
         // put code here
     }).change();
});
 

Définissez l'événement de modification et déclenchez-le immédiatement. Cela garantit que le gestionnaire d'événements est défini avant de l'appeler.

Peut-être tard pour répondre à l'affiche originale, mais quelqu'un d'autre pourrait tirer avantage de la notation abrégée, et cela suit l'enchaînement de jQuery, etc.

jquery chaînage

3voto

xenon Points 1015

Si vous essayez d’avoir des listes déroulantes liées, la meilleure façon de le faire est d’avoir un script qui renvoie la boîte de sélection prédéfinie et un appel AJAX qui le demande.

Voici la documentation de la méthode Ajax de jQuery si vous en avez besoin.

 $(document).ready(function(){

    $('#countrylist').change(function(e){
        $this = $(e.target);
        $.ajax({
            type: "POST",
            url: "scriptname.asp", // Don't know asp/asp.net at all so you will have to do this bit
            data: { country: $this.val() },
            success:function(data){
                $('#stateBoxHook').html(data);
            }
        });
    });

});
 

Ensuite, avoir une étendue autour de votre zone de sélection d'état avec l'id de "stateBoxHook"

Prograide.com

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.

Powered by:

X