9

我有一堆文本字段,我想在 onkeyup 完成后运行一个函数。他们都将运行相同的功能,所以有没有办法我可以在一行上做到这一点,而不是这样:

$('#element1').keyup(function(){getData()});
$('#element2').keyup(function(){getData()});

另外,如果我能做到这一点,我怎么能在其中抛出和 onchange 以进行下拉?谢谢大家!!

4

3 回答 3

18

您可以使用逗号分隔元素:

$("#element1, #element2").keyup(getData);

但是如何使用类而不是列出所有 ID:

<!-- HTML -->
<input id="element1" class="element" />
<input id="element2" class="element" />

// JavaScript
$(".element").keyup(getData);
于 2012-05-30T18:18:13.047 回答
5

您可以将它们附加到选择器中:

$('#element1, #element2').keyup(function(){ // ...

或者你add()在这种情况下使用可能会更有效,因为 jQuery 可以使用 ID 选择器的快捷方式getElementById

$('#element1').add('#element2').keyup(function(){ // ...
于 2012-05-30T18:19:42.600 回答
1

可以在$().

$('#element1, #element2').keyup(function(){
   getData()
 });

或简而言之

$('#element1, #element2').keyup(getData);

如果你想将.change()事件绑定到你的多个select盒子然后给所有select一个公共类

<select class="myselect"></select>
<select class="myselect"></select>
<select class="myselect"></select>

$('.myselect').on('change', function() {

});
于 2012-05-30T18:17:55.947 回答