【发布时间】:2011-08-11 06:41:00
【问题描述】:
在设置 select 元素的值时,触发 change 事件的最简单和最好的方法是什么。
我预计会执行以下代码
$('select#some').val(10);
或
$('select#some').attr('value', 10);
将导致触发更改事件,我认为这是非常合乎逻辑的事情。对吧?
好吧,事实并非如此。您需要通过这样做来触发 change() 事件
$('select#some').val(10).change();
或
$('select#some').val(10).trigger('change');
但我正在寻找一些解决方案,一旦某些 javascript 代码更改了 select 的值,就会触发更改事件。
【问题讨论】:
-
纯javascript element.addEventListener ?
-
$('select#some').val(10).change();对用户来说几乎是即时的。
-
@Manuel 我试过了。 iv'e 使用了 object.change = function ( .... 和 object.addEventListener( ... 但没有使用 object.value、$(object).val() 和 $(object).attr('value')会触发那个监听器
标签: jquery events triggers onchange