2012-08-13 116 views
-1

我有一個表中有幾個選擇裏面有動態生成的ID。動態SELECT ID中的Catch SELECT更改

事情是這樣的: <select id="Select_1">... <select id="Select_2">... <select id="Select_3">...

有,我可以趕上每次選擇的變化的一個辦法?

我已經試過幾種方法,如: $("select").change $("#Select_").change $("select#Select_").change

他們沒有工作......

任何幫助嗎?

+3

'$( 「選擇」)change'。應該工作(但不是其他人)。你也可以給每一個選擇一個類的引用類。 – j08691 2012-08-13 21:01:39

+0

'$(「select」)。change'本身不起作用,顯示更多代碼 – Esailija 2012-08-13 21:01:52

+0

這不起作用? '$(「select」)。change(function(){console.log(this.id +'changed。')});' – 2012-08-13 21:02:29

回答

0

試試這個:

$(document).on('change', 'select', function (event) { 

    // your code here 
    // `this` scope is pointing to current select which value was changed 

    $(this).val() // get selected value 
    $(this).attr('id') // or this.id - current ID 

}); 

我希望它會幫助你開始。

+0

此解決方案的工作,但問題是,我有很多其他選擇,我不想趕上。有了這個解決方案,我會抓住每一個選擇的變化,我已經做了一些代碼,以檢查是否是正確的選擇。 – Psyvenon 2012-08-14 09:05:33

+0

此代碼正常工作。在函數內部我添加了下面的代碼:if($(this).hasClass('selectClassName')),它工作得很好。 – Psyvenon 2012-08-14 09:11:54

0

給選擇元素共同類,並使用類調用變化:

HTML:

<select class="sel" id="select_1"> 
<option value="y">Yellow</option> 
<option value="b">Blue</option> 
</select> 
<br/> 
<select class="sel" id="select_2"> 
<option value="g">Green</option> 
<option value="r">Red</option> 
</select> 

JQuery的:

$(document).ready(function() { 
    $('.sel').change(function(){ 
     alert($(this).find('option:selected').val()); 
    }); 
}); 
+0

此解決方案沒有奏效! =( – Psyvenon 2012-08-14 09:04:34