我用它来捕获现有html报告的任何变化(交互式)
$("html").on("change","input[type='text'], input[type='date'], input[type='time']", function() {
isDirty = (this.defaultValue !== this.value);
if (isDirty)
this.defaultValue = this.value;
});
这将检查报告中使用的任何输入类型的更改。
但是如何在选择框之前做类似的事情呢?
答案 0 :(得分:0)
此处 - 使用option defaultSelected:
$("html").on("change","select", function() {
var opt = $("option:selected",this)
var isDirty = !opt.get(0).defaultSelected;
});
或者设置属性onload:
$(function() {
$("select").each(function() {
$(this).data("defaultValue",this.value);
});
});
以后
isDirty = (this.type=="select")?
$(this).data("defaultValue")!=this.value:this.defaultValue !== this.value;
答案 1 :(得分:-1)
获取选择选项的值最好通过以下方式完成:
this.defaultValue = $("select option:selected").text();
所以你的功能将是:
$("html").on("change","option", function() {
var value = $("select option:selected").text();
isDirty = (this.defaultSelect !== value);
if (isDirty)
this.defaultSelect = value;
});