我有一堆文本字段,我想在onkeyup完成后运行一个函数。他们都会运行相同的功能,所以有一种方法我可以在一行而不是这样做:
$('#element1').keyup(function(){getData()});
$('#element2').keyup(function(){getData()});
另外,如果我能做到这一点,我怎么能在那里投掷和改变下拉?谢谢大家!!
答案 0 :(得分:15)
您可以使用逗号分隔元素:
$("#element1, #element2").keyup(getData);
但是如何使用类而不是列出所有ID:
<!-- HTML -->
<input id="element1" class="element" />
<input id="element2" class="element" />
// JavaScript
$(".element").keyup(getData);
答案 1 :(得分:4)
您可以将它们附加到选择器中:
$('#element1, #element2').keyup(function(){ // ...
或者您使用add()
,在这种情况下可能更有效率,因为jQuery可以使用getElementById
的仅ID选择器的快捷方式:
$('#element1').add('#element2').keyup(function(){ // ...
答案 2 :(得分: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() {
});