我想知道是否有任何方法可以检测使用jQuery在表单中更改了哪个元素。我有一个包含大约40个不同字段的表单,并想知道其中哪一个单独更改。所有元素都有不同的ID。结果应该为这样的数组提供元素的ID。
答案 0 :(得分:5)
使用change
处理程序将ID添加到数组中。
$(function() {
var changed = [];
$(":input").change(function() {
if (changed.indexOf(this.id) == -1) {
changed.push(this.id);
}
});
});
答案 1 :(得分:1)
这听起来像是.on()
和change
事件的工作。这应该在触发更改事件时警告任何表单控件的id和值:
$("#id-of-your-form").on("change", "input, textarea, select", function() {
var changedInput = $(this);
alert(changedInput.attr("id"), changedInput.val());
});
我猜您还可以添加其他事件,例如blur
,focus
和keypress
,以捕获用户对输入执行任何操作的任何时间。 (例如$("#id-of-your-form").on("change blur focus keypress"...
)