2010-09-27 24 views
9

# country kimliğine sahip bir açılır menü için .change() işlev kümesi var. Sayfa yüklendiğinde, ben, "ABD" açılır menüden ayarlamak ve .change() fonksiyonu çalıştırmak çalışıyorum zaman:Çalıştırmak için Force .change() işlevi - 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(); 

son işlev ben zorlayamaz çünkü yanlış yoktur. Yükte değişiklik(). Değişim işlevini zorlamayı nasıl başarabilirim?

Süper yeni başlayan kişiyim ve .change() işlevinin içeriğini farklı bir işleve atamaya çalıştım ve bunu çağır, ancak bu da işe yaramadı.

+0

neden .change zorlayamaz? Bir hata mı atıyor? –

cevap

13

Dene:

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

+3

O zaten bunu etkili bir şekilde yapıyor, '.change()' * * * .trigger ('change') 'sadece bir kısayol. –

+0

Teşekkürler, tetikleme işlevi mükemmel görünüyor, ancak yine de bir hata gönderiyor. –

+0

Sanırım değişiminin, değişimin değişmesiyle aynı anda çağrılan bir Fancybox'ta olması gerçeğiyle ilgili bir şey var mı? –