Ich habe es versucht
$(":input:not(input[type=button],input[type=submit],button):visible:first")
aber es findet nichts.
Was ist mein Fehler?
UPD: Ich führe dies auf $ (document) .load () aus
<script type="text/javascript">
$(window).load(function () {
var aspForm = $("form#aspnetForm");
var firstInput = $(":input:not(input[type=button],input[type=submit],button):visible:first", aspForm);
firstInput.focus();
});
</script>
und im Debug kann ich sehen, dass firstInput leer ist.
UPD2: Ich bin auf einer ASP.NET-Seite, die unter Sharepoint ausgeführt wird.
Ich habe bisher festgestellt, dass es für einige Elemente sie findet (für feste) und für einige nicht. :(
jquery
input
jquery-selectors
Artem
quelle
quelle
$(document)
istready()
?type="hidden"
? Klicken Sie mit der rechten Maustaste auf Seite und zeigen Sie die Quelle an. Das generierte HTML ist ebenfalls wichtig. Ohne es und eine richtige SSCCE schießt es im Dunkeln.Antworten:
Warum zielen Sie nicht einfach auf die gewünschten ( Demo )?
Bearbeiten
Oder verwenden Sie jQuery : input selector, um Formularnachkommen zu filtern.
quelle
':input:visible:enabled:not([readonly]):first'
Der JQuery-Code ist in Ordnung. Sie müssen im Ready-Handler und nicht im Fensterladeereignis ausführen.
Aktualisieren
Ich habe es mit dem Beispiel von Karim79 versucht (danke für das Beispiel) und es funktioniert gut: http://jsfiddle.net/2sMfU/
quelle
Dies ist meine Zusammenfassung der oben genannten und funktioniert perfekt für mich. Danke für die Information!
quelle
Dies ist eine Verbesserung gegenüber @ Mottie Antwort , weil , wie von jQuery 1.5.2
:text
wähleninput
Elemente , die nicht angegeben habentype
Attribut (in diesem Falltype="text"
wird angedeutet):quelle
Hier ist meine Lösung. Der Code sollte leicht zu befolgen sein, aber hier ist die Idee:
Der Code:
Rufen Sie dann einfach focusFirst mit Ihrem übergeordneten Element oder Selektor auf.
Wähler:
Element:
quelle
Sie können unten Code versuchen ...
quelle