首页 > 解决方案 > 检查先前的值是否已更改,如果已更改,请将更改前的先前值放入日志表中并在屏幕上打印该日志表

问题描述

我正在尝试处理用户可以更改值的工作表,但我希望当用户更改值时,前一个值应该存储在某处,然后可以打印在屏幕上的更改日志表上

我试过下面的代码

$("classPreviousValue").on('focusin', function() {
    $(this).data('val', $(this).val());

});

$("classPreviousValue").on('change', function() {
  var $prev = $(this).data('val');
  var $current = $(this).val();
  if ($prev !== $current) {
      alert ("Things changed");
    $(this).css("color", $currentDayColor);
    $("#divChangeLog").html($("#divChangeLog").html() + "<br>Value changed from $prev");
 };


    });   

标签: javascriptjqueryhtml

解决方案


课程以句号.classPreviousValuenot开始classPreviousValue。并尝试切换on('focusin'each循环遍历所有这些,而无需用户交互。同样在if语句的末尾,将 data-val 更改为新值。

$(".classPreviousValue").each(function() {
    $(this).data('val', $(this).val());
});

$(".classPreviousValue").on('change', function() {
  var $prev = $(this).data('val');
  var $current = $(this).val();
  if ($prev !== $current) {
      alert ("Things changed");
    $(this).css("color", $currentDayColor);
    $("#divChangeLog").html($("#divChangeLog").html() + "<br>Value changed from " + $prev);
    $(this).data('val',$current); //set data-val to new value
   };
 });   

推荐阅读