2010-12-01 10 views
31

Es ist oder ist es einfach. Ich möchte den Fokus auf das erste aktivierte und nicht versteckte Steuerelement auf der Seite legen.jquery, setzen Sie den Fokus auf die erste aktivierte Eingabe oder wählen Sie auf der Seite

Für eine Textbox, ich habe

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

Aber ich will „alle“ Formular-Eingabesteuerungen erhalten: Textbox, Checkbox, Textfeld, Dropdown-Liste Radio in meinem Wähler die ersten aktiviert und nicht versteckt Kontrolle zu greifen . Irgendwelche Vorschläge?

Antwort

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

, das wie ein Weltmeister arbeitet. Danke Jordan. – Josh

+2

Dann zögern Sie nicht, es als die richtige Antwort auszuwählen. :) –

+9

Lustige Geschichte, ich warte auf die Zeit zu vergehen, damit ich es als Antwort auswählen konnte, und die Macht im Büro erlosch. – Josh

1

Versuchen Sie folgendes:

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

Dies ist ein wenig umfassender:

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

Lamen: Konzentrieren Sie den Cursor in der ersten Texteingabe in einer Form, die sichtbar ist, aber wenn Es benutzt die Klasse "filter", ignoriere sie!

8

Als Erweiterung der Antwort des Jordan

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

Dies schließt auch Nur-Lese-Eingänge

Verwandte Themen