如何选择 jQuery drop down val() 并触发事件?

2024-02-29

我在下拉菜单中注册了一个 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(使用前将#替换为@)

如何选择 jQuery drop down val() 并触发事件? 的相关文章