This simple selector finds the first empty text input field in my form but skips over password type inputs:
$('input:text[value=""]:first').focus();
Is there a neat way to say :text or :password in the above statement?
$('input:text[value=""]').add('input:password[value=""]').first().focus();
I don't think there is a better way. That's what I thought before taking a look at @Hari Das answer which has an issue but brings alternative solution to my mind:
$('input:text[value=""],input:password[value=""]').first().focus()
Choose the one which is more readable to you.
Here a little custom expression :
$.expr[':'].is = function(a,b,c){
return $(a).is(c[3])
}
That allow you to use is
in a selector. You can achieve what you want with that :
$('input[value=""]:is([type=text],[type=password]):first')
Fiddle
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With