jQuery - autoNumeric插件,fire .change()自动从.autoNumeric('set',value)

时间:2015-06-11 14:54:36

标签: javascript jquery onchange

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

1 个答案:

答案 0 :(得分:1)

我没有意识到.val()默认情况下不会触发.change()。特别是对于我的问题,以下是autoNumeric.js中的技巧:

if ($input) {
    if ($this.val(value)) {
        return $this.trigger("change");
    }
    return false;
}

有关详细信息,请参阅this answer