找到第一个空输入字段

时间:2014-04-23 17:42:15

标签: jquery

这个简单的选择器在我的表单中找到第一个空文本输入字段,但跳过密码类型输入:

$('input:text[value=""]:first').focus();

上面的陈述中是否有一个简洁的说法:text或:password?

4 个答案:

答案 0 :(得分:9)

$('input:text[value=""]').add('input:password[value=""]').first().focus();

我认为没有更好的方法。这是我在考虑 @Hari Das 答案之前的想法,这个答案有问题,但却为我提供了另类解决方案:

$('input:text[value=""],input:password[value=""]').first().focus()

选择一个更易读的。

答案 1 :(得分:4)

这里有一个小的自定义表达式:

$.expr[':'].is = function(a,b,c){
    return $(a).is(c[3])
}

允许您在选择器中使用is。你可以通过它实现你想要的目标:

$('input[value=""]:is([type=text],[type=password]):first')

<强> Fiddle

答案 2 :(得分:1)

通过使用逗号,您可以插入多个选择器。它就像一个OR运算符。

$('input:text[value=""]:first,input:password[value=""]:first')

答案 3 :(得分:1)

The visible is there to skip any hidden fields, such as select2 autogenerated inputs.

$('input:text[value=""]:visible:first',input:password[value=""]:first)