我想制作一个更改日志表,显示下拉菜单中是否有更改。 例如,我正在处理一个工作表,并且我有一个选择菜单结果,其中包含正、负、未知等选项。我希望如果任何人从正面变为负面或任何其他情况,它应该使用时间戳记录在更改日志表中。
目前我有一个适用于输入字段的版本,但当我在选择字段(下拉菜单)中进行更改时它不起作用。
这是我用于输入字段的代码,它工作正常。
$(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);
}
};
});
最佳答案
如果您的带有输入字段的代码工作正常,那么您只需将选择器中的“输入”替换为“选择”。像这样:
$(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);
}
};
});
关于javascript - 创建一个更改日志表,记录下拉菜单中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56693082/