我有一个非常类似的下拉列表:
<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怎么做?
目前,我试过这样做:
$('#someSelect option:nth-child(1)').attr("selected", "selected");但是,问题是,由于有三个第一个元素( --select--、Hayabusa和Audi TT),所以它选择了这三个元素,最后选择了Audi TT
我尝试用each做一些事情,只选择第二个,但是后来我意识到下拉列表是动态的,我不想选择默认的下拉列表(即--select one--),而是选择第一个组的第一个元素
我试着模仿一个弹琴,但它弄脏了,不起作用,不知道为什么:-/
你可以在这里看到它
发布于 2011-08-17 16:56:21
这里就是一个例子,下面是我使用的选择器:
$("#someSelect optgroup option:first").attr("selected", "selected");如您所见,通过查看optgroup元素,我使用了第一个选项。
发布于 2011-08-17 16:55:48
好吧,这是可行的:
http://jsfiddle.net/nYd67/1/
$(function(){
$('#someSelect optgroup:eq(0) option:eq(0)').attr("selected", "selected");
});发布于 2011-08-17 16:56:50
从optgroup中选择,而不是选择:
$('optgroup[label=Bikes] option:first')或者,如果您不想指定标签,也只需在optgroup上筛选:
$('optgroup:first option:first')https://stackoverflow.com/questions/7096552
复制相似问题