我正在使用jQuery表单更改事件
$('form').change(function(e) {
alert('hello');
});
我想知道触发了表单更改事件的元素id。
答案 0 :(得分:1)
要实现此目的,您可以在form
元素上使用委托处理程序,该处理程序在子窗体控件上侦听change
事件。
然后,您可以在事件处理程序中使用this
关键字来引用引发事件的元素,如下所示:
$('form').on('change', ':input', function() {
console.log(this.id);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="text" id="foo" />
<input type="text" id="bar" />
</form>
或者,您可以将当前change
事件处理程序保留在form
上并依赖于事件冒泡DOM,并使用事件的target
属性来确定导致哪个元素事件:
$('form').change(function(e) {
console.log(e.target.id);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="text" id="foo" />
<input type="text" id="bar" />
</form>
答案 1 :(得分:0)
$('form').change(function(e) {
alert($(this).attr('id'));
});
如果您想了解它是哪种形式。如果您想了解哪种形式的输入,那么必须更改。查看其他人添加的上述答案。
答案 2 :(得分:0)
你可以使用$(e.target).attr('id'):DEMO ATTACHED
$('form').on('change', function(e) {
alert("$(e.target).attr('id'): " + $(e.target).attr("id"))
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="text" id="textBox1" placholder="textBox1"/>
<input type="text" id="textBox2" placholder="textBox1"/>
</form>