<%@ Page Language="C#" AutoEventWireup="true" CodeFile="jQuery2.aspx.cs" Inherits="jQuery2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title> <script src="scripts/jquery-1[1].3.2-vsdoc2.js" type="text/javascript"></script></head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<br />
<br />
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<br />
</div> <script type="text/javascript">
$(function (){
$("#TextBox1")[0].focus();
}
);
</script> </form>
</body>
</html>一个页面上有三个TextBox 1,2,3。初始时1获得焦点,在每个textbox当输入enter键时焦点到下一个textbox
麻烦用jQuery类选择器
$(function (){
$("#TextBox1")[0].focus();
("#TextBox1").keydown(function(e){
if(e.keyCode==13){
$("#TextBox2").focus();
}
});
("#TextBox2").keydown(function(e){
if(e.keyCode==13){
$("#TextBox3").focus();
}
});
});
$("input:text").keydown(function(e){
if(e.keyCode==13)
$(this).next("input:text").focus();
})这个只适合同一层级.for(var i=0;i<$("input:text").length-1;i++)
{
$("input:text").eq(i).attr("next",i+1);
}
$("input:text").keydown(function(e){if(e.keyCode==13){
$("input:text").eq(parseInt($(this).attr("next"))).focus();
}
}); 这个应该可以了.
1.$("input:text").eq(0)可以选择到第一个TextBox,但是focus()没效果
2.$(this).next("input:text")选择不到下一个TextBox,而用nextAll()可以选择到下面所有的TextBox