我在下拉菜单中注册了一个 jQuery 插件,如下所示:
$('#country').linkToStates('#province');
我手动选择下拉菜单,如下所示:
$('#country').val('United States');
但是 onchange 事件没有触发之前注册的 .linkToStates() 。所以看起来 val() 只改变了下拉位置,但实际上并没有改变 onchange 事件。有人可以帮忙吗?
顺便说一句,这是注册的代码(如果有帮助的话):
$.fn.extend({
linkToStates: function(state_select_id) {
$(this).change(function() {
var country = $(this).attr('value');
$(state_select_id).removeOption(/.*/);
switch (country) {
case 'Canada':
$(state_select_id).addOption(canadian_provinces, false);
break;
case 'United States':
$(state_select_id).addOption(us_states, false);
break;
default:
$(state_select_id).addOption({ '' : 'Please select a Country'}, false);
break;
}
});
}
});
尝试这个:
$('#country').val('United States').trigger('change');
or even
$('#country').val('United States').change();
您可以阅读更多有关.trigger()
here http://api.jquery.com/trigger/ and .change()
here http://api.jquery.com/change/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)