Frage

Ich möchte einen Fokus auf die nächste Eingabe mit Jquery in einer Tabelle machen. Ich habe diese Tabelle in JSF.

<p:dataTable id="resu" value="#{onController.items}"  var="item" >

   <p:column id="colIn" >

     <h:inputText  id="i"  value="#{item.cup}"  />

   <p:column>

<p:dataTable>

wurde mit diesem getestet:

function nexts(input) {
   $(input).next("input[type=text]").focus();
}

onkeyup="nexts(this)" im Eingang

Es funktioniert nicht zwischen den Zeilen nur mit Eingängen gefolgt.

War es hilfreich?

Lösung

Die next() sucht nur in den Geschwistern. Die Datentabelle macht einen HTML <table> mit Zeilen in <tr> Elementen. Rechtsklicken Sie die Seite im Web-Browser und wählen Sie View Source . Sie sollten Ihre JS / jQuery-Code auf dieser Basis (einfach, weil das ist im Grunde alles, was es sehen). Technisch gesehen, sollten Sie auf den nächsten <tr> steigen, dann zum nächsten <tr> gehen und schließlich das nächste Eingabeelement in dort finden.

$(input).closest('tr').next('tr').find('input[type=text]').focus();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top