0

我想制作一个更改日志表,显示下拉菜单中是否有更改。例如,我正在使用工作表,并且我有一个选择菜单结果,其中包含正、负、未知等选项。我希望如果有人从正面更改为负面或其他任何内容,它应该使用时间戳登录更改日志表。

目前我有一个适用于输入字段的版本,但是当我在选择字段(下拉菜单)中进行更改时它不起作用。

这是我用于输入字段的代码,它工作正常。

$(document).on('focusin', 'input', function()
  {
    console.log("Saving value " + $(this).val());
    $(this).data('val', $(this).val());
   }
   ).on('change','input', function(){
    var prev = $(this).data('val');
    var current = $(this).val();
    var date1 = Date();
     if (prev !== current) {
         $(this).css("color", $currentDayColor);
         $specimenInfo = "";

    if((prev != current) && (prev!= null) && (prev != " ")){
    document.getElementById("demo").innerHTML = document.getElementById("demo").innerHTML + $specimenInfo + 'The Prev Value is :' + prev +' Which was changed on :'+ date1+'<br>';
    document.getElementById("demo2").innerHTML = document.getElementById("demo2").innerHTML + $specimenInfo + ' The Current Value is :' + current +' Which was changed on :'+ date1 + '<br>';
    console.log("Prev value " + prev);
    console.log("New value " + current);
    }
     };
});
4

1 回答 1

0

如果您的带有输入字段的代码工作正常,那么您只需在选择器中将“输入”替换为“选择”即可。像这样:

$(document).on('focusin', 'select', function()
  {
    console.log("Saving value " + $(this).val());
    $(this).data('val', $(this).val());
   }
   ).on('change','select', function(){
    var prev = $(this).data('val');
    var current = $(this).val();
    var date1 = Date();
     if (prev !== current) {
         $(this).css("color", $currentDayColor);
         $specimenInfo = "";

    if((prev != current) && (prev!= null) && (prev != " ")){
    document.getElementById("demo").innerHTML = document.getElementById("demo").innerHTML + $specimenInfo + 'The Prev Value is :' + prev +' Which was changed on :'+ date1+'<br>';
    document.getElementById("demo2").innerHTML = document.getElementById("demo2").innerHTML + $specimenInfo + ' The Current Value is :' + current +' Which was changed on :'+ date1 + '<br>';
    console.log("Prev value " + prev);
    console.log("New value " + current);
    }
     };
});
于 2019-06-20T20:32:45.773 回答