jquery新手求助,改变下拉框的值以后,如何触发onchange事件

yxdkenshin 2013-02-27 09:08:48
做了一个下拉框,要求用jquery改变这个值以后,触发onchange事件来做其他动作,但现在问题是值改变以后
下面这个onchange事件不会触发了,大侠帮忙下,我是新手
//代码举例:

$("#下拉框ID").val(某个值)
$("#下拉框ID").change(function(){
某个函数
})
...全文
57646 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
boys1999 2014-12-28
  • 打赏
  • 举报
回复
onChange只能改值以后,并且此元素失去焦点以后才能触发, 可以赋值后,用jq的trigger来触发 $('#slt').trigger('change');
qq_24580853 2014-12-17
  • 打赏
  • 举报
回复
如果select被重新封装到一个JS组件中,如果select本身不能处理选中值改变事件,而要靠外部激活的话,哪这个组件使用起来不是很麻烦?每次用这个组件变改变选中值时(比方说进页面设置默认值),都要手动调用change 事件?哪这组件也太失败了.
砺寒 2013-08-01
  • 打赏
  • 举报
回复
change事件会在元素失去焦点的时候触发,也会当其值在获得焦点后改变时触发。 是失去焦点时候促发。。 如果你那里有用。。希望给个例子。。。。不知为何,我这 select 不用鼠标。就触发不了 change 事件
ftiger 2013-02-27
  • 打赏
  • 举报
回复
真不习惯jq的处理方法,bbjbepzz的方案应当对头。 .change() 为 "change" 事件绑定一个处理函数,或者触发元素上的 "change" 事件。 这个感觉还是喜欢用Mootools的.fire("change");
yxdkenshin 2013-02-27
  • 打赏
  • 举报
回复
引用 8 楼 bbjbepzz 的回复:
引用 6 楼 yxdkenshin 的回复: 引用 5 楼 bbjbepzz 的回复:引用 4 楼 yxdkenshin 的回复: 引用 1 楼 maweimaweima4 的回复:onchange事件是由你用鼠标选择不同的下拉选项触发,而不是直接赋值$("#下拉框ID").val(某个值) 那如何才能在直接赋值了以后,触发某个函数呢? $("#下拉框ID").change();/……
谢谢哈,搞定了,手动触发,一开始没想到呵呵
yxdkenshin 2013-02-27
  • 打赏
  • 举报
回复
引用 7 楼 ftiger 的回复:
直接赋值,直接运行那个函数不行吗?一定要change转一下?
赋值也是和另外一个操作联动的,所以不能直接赋值,晕啊呵呵
bbjbepzz 2013-02-27
  • 打赏
  • 举报
回复
引用 6 楼 yxdkenshin 的回复:
引用 5 楼 bbjbepzz 的回复:引用 4 楼 yxdkenshin 的回复: 引用 1 楼 maweimaweima4 的回复:onchange事件是由你用鼠标选择不同的下拉选项触发,而不是直接赋值$("#下拉框ID").val(某个值) 那如何才能在直接赋值了以后,触发某个函数呢? $("#下拉框ID").change();/*触发change事件……
用$("#下拉框ID").change();手动触发一下。
ftiger 2013-02-27
  • 打赏
  • 举报
回复
直接赋值,直接运行那个函数不行吗?一定要change转一下?
yxdkenshin 2013-02-27
  • 打赏
  • 举报
回复
引用 5 楼 bbjbepzz 的回复:
引用 4 楼 yxdkenshin 的回复: 引用 1 楼 maweimaweima4 的回复:onchange事件是由你用鼠标选择不同的下拉选项触发,而不是直接赋值$("#下拉框ID").val(某个值) 那如何才能在直接赋值了以后,触发某个函数呢? $("#下拉框ID").change();/*触发change事件*/
现在关键是直接赋值以后不会触发change事件,所以怎么才能在直接赋值以后触发change事件啊?
bbjbepzz 2013-02-27
  • 打赏
  • 举报
回复
引用 4 楼 yxdkenshin 的回复:
引用 1 楼 maweimaweima4 的回复:onchange事件是由你用鼠标选择不同的下拉选项触发,而不是直接赋值$("#下拉框ID").val(某个值) 那如何才能在直接赋值了以后,触发某个函数呢?
$("#下拉框ID").change();/*触发change事件*/
yxdkenshin 2013-02-27
  • 打赏
  • 举报
回复
引用 1 楼 maweimaweima4 的回复:
onchange事件是由你用鼠标选择不同的下拉选项触发,而不是直接赋值$("#下拉框ID").val(某个值)
那如何才能在直接赋值了以后,触发某个函数呢?
pugongying402 2013-02-27
  • 打赏
  • 举报
回复
给你一个例子 <s:select onchange="budgetTypeSelect(this.value)" id="budgetTypeId" value="financeBudget.financeBudget.type" name="financeBudget.financeBudget.type" headerKey="0" list="#{0:'月',1:'季',2:'年',3:'任意时间段'}" />
bbjbepzz 2013-02-27
  • 打赏
  • 举报
回复
$("#下拉框ID").change();
没有顶峰 2013-02-27
  • 打赏
  • 举报
回复
onchange事件是由你用鼠标选择不同的下拉选项触发,而不是直接赋值$("#下拉框ID").val(某个值)

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧