2012-08-13 37 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