Ich habe ein Formular, und ich bin in der Lage, alle Formularelemente durch serializeArray()
zu bekommen. Ich möchte focus()
auf Formularelemente basierend auf ihrem Tabindex-Wert mithilfe der Eingabetaste. Nur wenn es Wert darin hat oder sich auf sich selbst konzentriert.Tabindex basierend auf Enter-Taste durch Erlangen Formular-Element funktioniert nicht in Jquery
wenig Neues zu jQuery so, wenn irgendwelche Fehler ...
$.fn.entertab = function()
{
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
var maxTabIndex = 20;
var elements = this.serializeArray();
$.each(elements, function(i, element)
{
this.keypress(function(e){
var nTabIndex=this.tabIndex;
var myNode=this.nodeName.toLowerCase();
if(nTabIndex > 0 && key == 13 && nTabIndex <= maxTabIndex && ((!myNode.attr("disabled")) || (myNode.val == "")))
{
myNode.focus();
}
else
{
nTabIndex=this.tabIndex+1;
myNode.focus();
}
});
});
}
$("theform").entertab();
könnten Sie den von Ihnen verwendeten HTML-Code angeben? Bis auf ein paar Vorschläge: move var key ... in der Funktion this.keypress, benutze den Status onload/ready, um das entertab() zu starten: $ (function() {/ * hier der Code * /}); und Sie verwenden "theform", das ist kein Tag-Name, wenn es ein Klassenname ist, dann verwenden Sie $ (". theform"). entertab(); –