有一类输入,需要知道输入更改后的输入

时间:2018-02-19 20:55:00

标签: javascript jquery

我有一类输入。我希望能够检测到哪些特定输入已更改。我首先检测到课程中的变化,然后我想知道输入有什么变化。

<input type="text" name="address" id="address" class="className"/>
<input type="text" name="city" id="city" class="className"/>
<input type="text" name="country" id="country" class="className"/>
<script>
$('.className').keyup(function(){
  //Want to say 'You changed '(the id of the input changed)'
});
</script>

2 个答案:

答案 0 :(得分:0)

使用this.id获取当前元素的id

&#13;
&#13;
$('.className').keyup(function(){
  console.log('You changed '+this.id);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="address" id="address" class="className"/>
<input type="text" name="city" id="city" class="className"/>
<input type="text" name="country" id="country" class="className"/>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

所有DOM事件处理程序都会自动传递对Event对象的引用,该对象表示触发该函数的事件。您可以使用此对象的.target属性来访问负责触发事件的DOM对象。

您也可以使用this代替event.target,但这只有在您不使用事件委托(冒泡)时才会准确。

$('.className').keyup(function(event){
  console.log("The instigator was: " + event.target.toString() + " with an id of: " + event.target.id);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="address" id="address" class="className"/>
<input type="text" name="city" id="city" class="className"/>
<input type="text" name="country" id="country" class="className"/>