将焦点设置在特定的选择框上

6

我在页面上有多个选择框,我想将焦点设置在特定选择框的第一个元素上。 这里 显示了如何设置选择框上的焦点。但我需要指定哪个选择框。我尝试过以下代码,但它没有设置焦点:

$('#thirdDropBox select:first').focus();

1
为什么你不能只是这样写:$('#thirdDropBox').focus();?ID通常是元素唯一的标识。 - Tez Wingfield
1
“#thirdDropBox” 是什么意思?如果它是选择框的id,那么在选择器中只需要这个(即删除“select:first”部分)。 - ioums
1
看一些HTML代码肯定会有所帮助... - rfornal
你能把你的代码放在JSFiddle上吗? - Alessandro Marchisio
2个回答

10

如果您希望用户在多个选择框中聚焦于第一个选择框,则可以使用以下jQuery代码:

如果您有第一个选择框的id,您可以使用以下代码直接访问该元素:

$(document).ready(function () {
    $('#idOfFirstSelect').focus();
}); 
然而,如果您没有该ID,以下代码应该可以工作。
演示: http://jsfiddle.net/biz79/1qo6mxnf/
$(document).ready(function () {
    $('select').first().focus();
});

另外一点,如果您想要有一个默认选项被选中,您可以在HTML中将该选项设置为"selected":

<option value="saab" selected="selected">Saab</option>

很好的答案,但如果它真的只是页面上带有ID的第一个“select”。那么上面的方法就有点过度了。不过还是非常好的回答 :) - Tez Wingfield
谢谢。是的,如果你有一个ID,你可以直接在选择器中指定该ID。然而,如果你没有该ID,这个方法也是可行的。 - Will
我完全同意。在你的回答中值得一提吗? - Tez Wingfield
谢谢建议,已添加。 - Will

1

JQuery选择器:

$('#thirdDropBox select:first')

将选择第一个“select”HTML元素,该元素是具有值为“thirdDropBox”的ID属性的html元素的后代。
有关详细信息,请参见:http://api.jquery.com/descendant-selector/ 您可能需要从选择器中删除“#thirdDropBox”部分。
$('select:first')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接