2010-09-27 13 views
9

Ho una funzione .change() impostata per un menu a discesa con un ID di #country. Quando la pagina viene caricata, sto cercando di impostare il menu a discesa per "Stati Uniti" ed eseguire la funzione .Per passare():Funzione Force .change() da eseguire - jQuery

$('#country').change(function() { 
    resetDisclosure(); 
    var countryCode = $(this).val(); 
    var countryName = $('#country option:selected').text(); 

    $('#'+countryCode.toString()).fadeIn('slow'); 

    if(countryCode == 'OC' || countryCode == 'EU') { 
     $('#OC h4, #EU h4').html('For Residents of <strong>' + countryName + '</strong>'); 
    } 

    $.fancybox.resize(); 
    $.fancybox.center(); 
}); 

$("#country").val('OC'); 
$("#country").change(); 

L'ultima funzione non è sbagliato, perché non posso forzare il. cambia() sul carico. Come posso forzare la funzione di modifica?

Sono un super principiante e ho cercato di assegnare il contenuto della funzione .change() a una funzione diversa e chiamarlo, ma non ha funzionato neanche.

+0

perché non si può costringere .Per passare? Segnala un errore? –

risposta

13

Prova:

$("#country").val('OC').trigger('change');

+3

Lo sta già facendo in modo efficace, '.change()' * is * '.trigger ('change')' è solo una scorciatoia. –

+0

Grazie, la funzione di trigger sembra perfetta, ma registra ancora un errore. –

+0

Penso che abbia qualcosa a che fare con il fatto che il dropdown che viene modificato si trova in un Fancybox che viene chiamato contemporaneamente alla modifica? –

Problemi correlati