场景:
当内容发生改变时对隐藏的input框进行监控(这里不直接赋值,通过select或其他条件的改变使用jquery赋值)
需要监控的对象 <input type="hidden" id="supplier" value="" />
监控的方法 $("#supplier").change(function(){});
问题:
$("#supplier").val("jquery赋值");
通过jquery的val()进行赋值并没有触发内容改变事件
原因:
change事件只对鼠标与键盘的操作有效, 通过jquery的val()方法赋值是不会触发事件的
解决方案
使用val()的回调函数
// value 赋值
// oldvalue 被替换的值
$("#supplier").val("value", function(index, oldvalue) {
// 回调方法
});
场景描述
1. js / jquery 使用val()赋值监控事件失效
2. js / jquery 监听事件失效
3. js / jquery 改变input的value值不触发onchange事件解决方案