jQuery - autoNumeric 插件,从 .autoNumeric('set', value) 自动触发 .change()
jQuery - autoNumeric plugin, fire .change() automatically from .autoNumeric('set', value)
我正在使用 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()
。
我没有意识到 .val()
默认情况下不会触发 .change()
。具体来说,对于我的问题,以下是 autoNumeric.js 中的技巧:
if ($input) {
if ($this.val(value)) {
return $this.trigger("change");
}
return false;
}
有关详细信息,请参阅 this answer。
我正在使用 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()
。
我没有意识到 .val()
默认情况下不会触发 .change()
。具体来说,对于我的问题,以下是 autoNumeric.js 中的技巧:
if ($input) {
if ($this.val(value)) {
return $this.trigger("change");
}
return false;
}
有关详细信息,请参阅 this answer。