jquery,将焦点设置在第一个启用的输入上或在页面上选择或textarea

时间:2010-12-01 19:43:43

标签: jquery jquery-selectors focus

这很简单。我想将焦点设置为页面上的第一个启用而非隐藏控件。

对于文本框,我有

$("input[type='text']:visible:enabled:first").focus();

但是我希望得到“全部”表单输入控件:textbox,checkbox,textarea,dropdown,radio在我的选择器中抓取第一个启用而非隐藏控件。有什么建议吗?

4 个答案:

答案 0 :(得分:73)

$(':input:enabled:visible:first').focus();

答案 1 :(得分:10)

作为乔丹回答的延伸

$(':input:enabled:visible:not([readonly]):first').focus();

这个也排除了只读输入

答案 2 :(得分:5)

这有点全面:

$('form :input:text:visible:not(input[class*=filter]):first').focus();

Lamen:将光标聚焦在可见的表单中的第一个文本输入中,但是如果它使用名为“filter”的类,则忽略它!

答案 3 :(得分:3)

试试这个:

$("input[type='text']:enabled","another selector","another selector").first().focus();