我有一个表单,我能够通过serializeArray()
获取所有表单元素。 我想要focus()
基于它们的tabindex值使用回车键的表单元素。只有在它有价值或者专注于自己的时候。Tabindex基于输入键通过获取表单elemens不工作在jquery
小新的jQuery,所以如果任何错误......
$.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();
您能否提供您正在使用的HTML?直到一些建议:移动var key ...在this.keypress函数中,使用onload/ready状态来启动entertab():$(function(){/ * here code//});并且你使用的是“theform”,那不是标签名称,如果它是一个类名,那么使用$(“。theform”)。entertab(); – 2011-01-08 11:36:30