2010-09-27 75 views
9

我有一个.change()函数设置ID为#country的下拉菜单。页面加载时,我试图在下拉菜单中设置为“美国”,并运行.change()函数:强制.change()函数运行 - 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(); 

最后一个函数有错,因为我不能强迫。加载时改变()。我该如何着手强制更改功能?

我是超级初学者,并试图将.change()函数的内容分配给不同的函数并调用它,但它也不起作用。

+0

为什么你不能强迫.change?它会抛出一个错误吗? – 2010-09-27 22:24:00

回答

13

尝试:

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

+3

他已经这样做了,'.change()'* * * .trigger('change')'这只是一个快捷方式。 – 2010-09-27 21:57:43

+0

谢谢,触发器功能看起来很完美,但它仍然发布错误。 – 2010-09-27 22:04:31

+0

我认为它有一个事实,即下拉被改变是在一个Fancybox,被称为在同一时间的变化? – 2010-09-27 22:52:52