当以编程方式设置的值时,不会调用更改事件
通常,当用户选择的项目时,会发生’change’事件。 但是,当您使用
$('select').val('something')
更改相同的值时,事件不会被触发。
我知道我可以这样做: $('select').val('something').trigger('change');
但这不是我想要解决的问题……
有没有办法让变更事件工作,而无需手动触发它?
我把一个快速的JsFiddle放在一起,以便更好地解释这个问题,看一下:
http://jsfiddle.net/W723K/1/
干杯
除非您手动触发更改function,否则这是不可能的。 如果您不喜欢多次键入该代码,请扩展jQuery对象。 小提琴: http : //jsfiddle.net/W723K/2/
(function($){ $.fn.changeVal = function(value){ return this.each(function(){ $(this).val(value).trigger('change'); }); } })(jQuery); //Usage: $('select').changeVal('something');