通常,当用户选择a中的项目时<select>,"更改"事件会被触发.但是,当您更改相同的值<select>时$('select').val('something'),事件不会被触发.
我知道我能做到:
$('select').val('something').trigger('change');
但这不是我想要解决的问题......
有没有办法让更改事件工作,而无需手动触发它?
我把一个快速的JsFiddle放在一起以更好地解释这个问题,看看它:
干杯
除非您手动触发更改功能,否则这是不可能的.如果您不喜欢多次键入该代码,请扩展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');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1380 次 |
| 最近记录: |