我正在使用autoNumeric jQuery plugin。我想让.autoNumeric('set', value)
方法自动调用.change()
事件。
我有以下代码:
$(document).ready(function ($) {
$("#baseCost").change(function() {
var total = ...; // calculation removed for code brevity
$("#totalCost").autoNumeric('set', total);
});
$("#totalCost").change(function() {
// this code does not fire when the set above is called
});
});
我将如何做到这一点?
更新:在autoNumeric.js文件中,我发现了这一点(set
内):
if ($input) {
return $this.val(value);
}
鉴于在我的情况下$ input设置为true,我不明白为什么.val()
未在我的页面上触发.change()
。
答案 0 :(得分:1)
我没有意识到.val()
默认情况下不会触发.change()
。特别是对于我的问题,以下是autoNumeric.js中的技巧:
if ($input) {
if ($this.val(value)) {
return $this.trigger("change");
}
return false;
}
有关详细信息,请参阅this answer。