1

これを行う良い方法はありますか?元の値と新しい値を jquery/javascript 関数に送信できますか? 一部のグローバル変数に古い値を保持するのは、少し面倒です。

編集: コンテキスト コード

<input type='number' onchange='foo(...)'>

...

<script type=text/javascript>
function foo(...){
    if(old > new){
        alert('decreased');
    }else{
        alert('increased');
    }
}
</text>
4

1 に答える 1

4

したがって、グローバル変数に保持しないでください。

<input type="number" value="5" />

$('input[type="number"]').change(function () {
    if (this.getAttribute('value') === this.value) {
        // setting the original 'lastvalue' data property
        $(this).data('lastvalue', this.value);
    } else {
        // take whatever action you require here:
        console.log(this.value < $(this).data('lastvalue') ? 'decrement' : 'increment');
        // update the lastvalue data property here:
        $(this).data('lastvalue', this.value);
    }
}).change();

JS フィドルのデモ

this.getAttribute('value') === this.value使用する代わりにthis.defaultValue === this.value(このJS Fiddle demoのように)、this.defaultValueDOM 対応の要素の元の値にすることもできます。

参考文献:

于 2013-10-07T19:23:13.967 に答える