$(".whitebox").on('change', function () {
var previousAmt = $(this).data("old"); // i want previous value
var id = this.id;
var slpitid = id.split("_");
var checkboxid = "#chck_" + slpitid[0];
if ($(checkboxid).is(':checked')) {
var tipFlag = true;
}
else {
var tipFlag = false;
}
if (tipFlag === true)
{
$("#amounttipchange").modal('show');
}
//alert(previousAmount);
});
我想在更改事件中存储以前的值如何在jquery中执行我无法使用$(this).data(“old”)存储值;任何帮助将不胜感激
答案 0 :(得分:3)
您几乎做对了,但是您忘记更新代码中的data-old
,下面是一个示例jsbin
$(".whitebox").on('change', function (event) {
// on first change will be empty string
// as no previous value was set
var oldValue = event.target.dataset.old;
console.log('old value', oldValue);
// your code here
// at the end assign new value to data-old attribute
$(this).data('old', event.target.value);
console.log(event.target.value);
});
答案 1 :(得分:0)
var prevVal = $('input').val(); //init val
var valuesHistory = [prevVal];
$('input').data('prevData', prevVal);
$('input').on('change', function() {
console.log('prev value from data: ', $(this).data('prevData'));
console.log('prev value from var: ', prevVal);
console.log('log: ', valuesHistory);
valuesHistory.push($('input').val());
$('input').data('prevData', $('input').val());
prevVal = $(this).val();
});
// you can also get the prev value, like that valuesHistory[valuesHistory.length-2];
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text">
答案 2 :(得分:0)
试试这个:
htop
然后使用您的更改活动。