问题:前端如果有input隐藏域,通过js改变隐藏域的值,无法触发change事件。
原因:onchange事件在内容改变且失去焦点时触发,变化前后两次内容相等时不触发
解决方法:可以在改变隐藏域的值的同时,手动触发onchange事件。
//要想监听<input id="uesrId" type="hidden" />的值变化,关键要主动出发change事件,代码如下:
function setUserID(myValue) {
$('#userId').val(myValue).trigger('change');
}
//监听代码如下
$('#userId').on('change',function() {
alert('changed');
})