我有一堆文本字段,我想在onkeyup完成時運行一個函數。他們都將運行相同的功能,所以是有辦法,我可以做的是在一個行,而不是這樣的:我可以在多個元素上使用jquery for onKeyUp嗎?
$('#element1').keyup(function(){getData()});
$('#element2').keyup(function(){getData()});
另外,如果我能做到這一點,我怎麼能扔和的onchange在那裏下拉?謝謝!
我有一堆文本字段,我想在onkeyup完成時運行一個函數。他們都將運行相同的功能,所以是有辦法,我可以做的是在一個行,而不是這樣的:我可以在多個元素上使用jquery for onKeyUp嗎?
$('#element1').keyup(function(){getData()});
$('#element2').keyup(function(){getData()});
另外,如果我能做到這一點,我怎麼能扔和的onchange在那裏下拉?謝謝!
你可以用逗號分隔元素:
$("#element1, #element2").keyup(getData);
但是用類,而不是列出所有ID如何:
<!-- HTML -->
<input id="element1" class="element" />
<input id="element2" class="element" />
// JavaScript
$(".element").keyup(getData);
它可能使用$()
內的多個選擇器。
$('#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() {
});
第二個示例在功能上與f不同首先你的意思是.keyup(getData)? –
@RuneFS謝謝,錯誤 – thecodeparadox
困惑......所以我可以做 '$('#element1,#element2')。keyup(getData); 還是不? – Damien
要麼你追加他們在您的選擇:
$('#element1, #element2').keyup(function(){ // ...
,或者你使用add()
在這種情況下,可能會更有效,因爲jQuery可以使用僅用於ID的選擇器的快捷方式使用getElementById
:
$('#element1').add('#element2').keyup(function(){ // ...
這是有道理的。我將如何在下拉框中添加onchange? – Damien
是的,使用類是一個很好的解決方案。那麼:'$(「:text.element」).keyup(getData)'和'$(「select.element」).change(getData)'? – VisioN