我正在使用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

10-07 14:01