2011-08-11 13 views
2

我有一段代碼,這個人爲一組表單值寫了一組表單值。jQuery,如果有任何「一個」值發生變化

我想將它們包含到一個單一的功能

$('#jobs_held').change(function() { 
// do something, with a little variation 
}); 

$('#residence_years').change(function() { 
// do something, with a little variation 
}); 

$('#how_long').change(function() { 
// do something, with a little variation 
}); 

反正是有,我可以做這樣的事情......

$('#jobs_held', '#residence_years', '#how_long').change(function(){ 
// do something, with a little variation 
}); 
+0

沒辦法...... 我是說我 '沒有' 嘗試,但... <_ <,是讓我試試。 – iNk

+0

對不起,我一開始就讀錯了。它不會按照你的方式工作。 – user113716

回答

6

將它們加入單個字符串以使用multiple-selector[docs]

$('#jobs_held,#residence_years,#how_long').change(function(){ 
    // do something, with a little variation 

    // "this" can be used to refer to the specific element 
    //  that received the event. 

    alert(this.id); // to alert the ID of the element 
}); 

...或找到一些常見的身份像一個類來選擇它們全部。

3

給他們所有的一類,例如「問題」,然後只需要$('.question').change(function() {});

如果需要根據類型對其進行更改,則可以訪問函數中已更改元素的ID。

編輯:我建議通過多選擇的類方法,因爲它更容易維護(您可以添加元素到HTML,而無需回來編輯JS)。但是的確如此,多重選擇更符合實際問題。而且,如果改變HTML,更好的解決方案是不可行的。

1
$('#jobs_held,#residence_years,#how_long').change(function(){ 
// do something, with a little variation 
}); 
相關問題