为了账号安全,请及时绑定邮箱和手机立即绑定

当我使用Val()设置SELECT值时,为什么jQuery更改事件不触发?

当我使用Val()设置SELECT值时,为什么jQuery更改事件不触发?

呼如林 2019-07-05 12:52:57
当我使用Val()设置SELECT值时,为什么jQuery更改事件不触发?中的逻辑change()设置值时不运行事件处理程序。val(),但是当用户用鼠标选择一个值时,它就会运行。这是为什么?<select id="single">     <option>Single</option>     <option>Single2</option></select><script>     $(function() {         $(":input#single").change(function() {            /* Logic here does not execute when val() is used */         });     });     $("#single").val("Single2");</script>
查看完整描述

3 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

因为change事件需要由用户发起的实际浏览器事件,而不是通过javascript代码。

而是这样做:

$("#single").val("Single2").trigger('change');

$("#single").val("Single2").change();


查看完整回答
反对 回复 2019-07-05
?
MMTTMM

TA贡献1869条经验 获得超4个赞

我相信您可以手动触发更改事件trigger():

$("#single").val("Single2").trigger('change');

虽然它不会自动开火,但我不知道。


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 2641 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信