Tru*_*an1 11 javascript jquery jquery-plugins jquery-events
我在下拉列表中注册了一个jQuery插件,如下所示:
$('#country').linkToStates('#province');
Run Code Online (Sandbox Code Playgroud)
我手动选择下拉这样的:
$('#country').val('United States');
Run Code Online (Sandbox Code Playgroud)
但是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;
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
Har*_*til 24
试试这个:
$('#country').val('United States').trigger('change');
Run Code Online (Sandbox Code Playgroud)
甚至
$('#country').val('United States').change();
Run Code Online (Sandbox Code Playgroud)
你可以.trigger() 在这里和这里阅读更多.change()
| 归档时间: |
|
| 查看次数: |
18653 次 |
| 最近记录: |