首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jquery在多组下拉列表中选择第一个选项

使用jquery在多组下拉列表中选择第一个选项
EN

Stack Overflow用户
提问于 2011-08-17 16:51:24
回答 7查看 6.8K关注 0票数 5

我有一个非常类似的下拉列表:

代码语言:javascript
复制
<select id='someSelect'>
    <option value="0">---select one---</option>
    <optgroup label="Bikes">
        <option value="B-4">Hayabusa</option>
        <option value="B-2">GSXR</option>
        <option value="B-3">Ninja</option>
        <option value="B-6">Enticer</option>
    </optgroup>
    <optgroup label="Cars"> 
        <option value="C-4">Audi TT</option>
        <option value="C-2">Awesome Car</option>
        <option value="C-23">Japanese car</option>
        <option value="C-9">German car</option>
    </optgroup>
</select>

我只想选择第一组的第一个元素(这里的自行车)。请问在jQuery怎么做?

目前,我试过这样做:

代码语言:javascript
复制
$('#someSelect option:nth-child(1)').attr("selected", "selected");

但是,问题是,由于有三个第一个元素( --select--HayabusaAudi TT),所以它选择了这三个元素,最后选择了Audi TT

我尝试用each做一些事情,只选择第二个,但是后来我意识到下拉列表是动态的,我不想选择默认的下拉列表(即--select one--),而是选择第一个组的第一个元素

我试着模仿一个弹琴,但它弄脏了,不起作用,不知道为什么:-/

你可以在这里看到它

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-08-17 16:56:21

这里就是一个例子,下面是我使用的选择器:

代码语言:javascript
复制
$("#someSelect optgroup option:first").attr("selected", "selected");

如您所见,通过查看optgroup元素,我使用了第一个选项。

票数 7
EN

Stack Overflow用户

发布于 2011-08-17 16:55:48

好吧,这是可行的:

http://jsfiddle.net/nYd67/1/

代码语言:javascript
复制
$(function(){
    $('#someSelect optgroup:eq(0) option:eq(0)').attr("selected", "selected");
});
票数 4
EN

Stack Overflow用户

发布于 2011-08-17 16:56:50

从optgroup中选择,而不是选择:

代码语言:javascript
复制
$('optgroup[label=Bikes] option:first')

或者,如果您不想指定标签,也只需在optgroup上筛选:

代码语言:javascript
复制
$('optgroup:first option:first')
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7096552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档