jQuery从不同的<select> </select>中获取多个id

时间:2012-09-28 13:20:33

标签: jquery attributes html-select multiple-select

我是jQuery的新手,在页面上找到正确的选择时遇到了问题。 当我搜索多个选择时,我会得到如何选择一些选项而不是我需要的选项。

基本上这是一个例子:

Html部分:

<div id='select-zone'>
   <select class='nselect' id='1'>
       <option value='1'>test</option>
       <option value='2'>test2</option>
   </select>

   <select class='nselect' id='2'>
       <option value='1'>test</option>
       <option value='2'>test2</option>      
   </select>
</div>

所以基本上我想使用class属性'nselect'从select中获取id。

Jquery的:

$(document).ready(function() {
var id;
$("nselect").change(function() 
   id = $(this).attr('id');
});
});

我认为我的问题是我没有得到正确的元素。 如果你们可以指导我并告诉我我做错了什么,如果我甚至用$(这个)访问正确的元素你将成为一个伟大的救星。

我最简单的代码。

非常感谢。

4 个答案:

答案 0 :(得分:2)

你刚刚错过了class selector.,以及回调函数的开头大括号:

$(".nselect").change(function() {
// ^ missed this                ^ and this

   id = $(this).attr('id');
});

旁注:您可以通过使用本机id属性来提高代码效率,而不是创建新的jQuery对象:

$(".nselect").change(function() {
   id = this.id;
});

答案 1 :(得分:0)

乍一看,由于nselect是一个班级名称,您需要使用$(".nselect")而不仅仅是$('nselect')

答案 2 :(得分:0)

您必须使用点来表示类

$(".nselect")

另外,我会使用.blur()而不是.change()

答案 3 :(得分:0)

根据您要使用id变量的位置,我相信您希望将var id;放在$(document).ready...

之前