2010-11-08 169 views
0

如何选择在div中更改的下拉列表的ID?JQuery在div中选择下拉菜单

即一个

<div class="a"> 
    <select name="ddl1748" id="ddl748"> 
     <option value="Change">Change</option> 
    </select> 
    <select name="ddl1749" id="ddl749"> 
     <option value="Change">Change1</option> 
    </select> 
</div> 

我在div很多的下拉框。

+0

你可以显示标记想要这样做吗? – 2010-11-08 23:52:28

回答

2

如果我理解正确的话,你想要得到的那些选择框,该值已经被用户更改的ID。如果是这样,你可以听的change事件:

var changed = []; 

$('div.a').delegate('select', 'change', function() { 
    changed.push(this.id); 
}); 

delegate()仅绑定一个事件处理到父div。当然,如果选择框多次更改,您必须事先检查ID是否已经包含在数组中。或者你可以使用一个对象来存储这些ID,例如:

var changed = {}; 

$('div.a').delegate('select', 'change', function() { 
    changed[this.id] = 1; 
}); 

然后,你将不得不遍历该对象的属性。

+0

我有一个命令可以更改所有下拉列表项的默认值。之后如果我更改下拉菜单,它不会运行委托,任何原因。 – Greens 2012-01-31 22:32:13