2014-10-08 38 views
0

我想知道是否有可能有多個條件在.change功能JQuery的:在.change多個條件(功能()

例如,這些都是我的js文件的兩個第一行:

$(document).ready(function(){ 
    $("select[name=streettype]").change(function() { 

這是與房屋的價值以及這種交易的頁面。 我有其中一個用戶輸入他們的地址,「streettype」是的「RD」選擇列表形式,「ST」,「大道「等

說他們選擇」st「。這樣做會禁用和enab在表單中列出其他一些選項。

然後,當他們繼續填寫表格時,還有另一個選擇列表。 他們選擇「2層」。這樣做應該也啓用和禁用一些其他選項並打印一些消息。

但是,由於該功能僅在「街道類型」發生變化時發生變化,因此選擇「2層」不會佔用任何東西。相反,用戶必須選擇「2層」,然後返回並將「街道類型」更改爲其他內容(例如「rd」),然後回到「st」,以便在表單中進一步改變其他值。

所以我想知道是否有可能有多個條件的變化。

謝謝!

+1

你可以有多個選擇:'$(「選擇[名稱= streettype],選擇[名稱=」 (' – Regent 2014-10-08 10:56:27

回答

0

jQuery選擇工作就像CSS選擇器,所以你可以只是做:

$("select[name=streettype],select[name=storey]").change(

,它會觸發其一。

+0

@Regent,他沒有說他的選擇名稱,我認爲「2層」只是「樓層」選項的一個選項,但無論如何,它只是以說明選擇器如何工作 – Andy 2014-10-08 11:02:54

+0

非常感謝您的先生。這是行得通的,並已回答我的問題。:) – barneesh 2014-10-08 11:25:38

0

爲什麼當你希望他們分享相同的邏輯時,你甚至可以通過名字區分?我想補充一類這樣的

<select name="streettype" class="listenChange">...</select> 
<select name="storey" class="listenChange">...</select> 

再處理,像這樣

$("select.listenChange").change(function(){ 
    var name $(this).attr("name"), 
     newValue = $(this).val(); 
    switch (name) { 
     case 'streettype': 
      //.. 
      break; 
     case 'storey': 
      //.. 
      break; 
    } 
}); 
0
i think this may be work 

$("select[name=streettype1], select[name=streettype2]").change(function(){ 

}); 
+0

謝謝喲你非常先生。這確實有效,並回答了我的問題。 :) – barneesh 2014-10-08 11:25:23