Javascript ASP&x2B;来自Gridview的Jquery焦点下一个文本框
我有一个带桌子的gridview。在这个表中,我们有一些标签和文本框Javascript ASP&x2B;来自Gridview的Jquery焦点下一个文本框,javascript,c#,jquery,asp.net,gridview,Javascript,C#,Jquery,Asp.net,Gridview,我有一个带桌子的gridview。在这个表中,我们有一些标签和文本框 <asp:TextBox ID="txtScanLotNr" runat="server" BackColor="#D8D8D8" BorderStyle="None"></asp:TextBox> 当用户按enter键时,我正在尝试从文本框切换到下一个文本框。为此,我使用Jquery $(function () { var inputs = $(".mGrid").f
<asp:TextBox ID="txtScanLotNr" runat="server" BackColor="#D8D8D8" BorderStyle="None"></asp:TextBox>
当用户按enter键时,我正在尝试从文本框切换到下一个文本框。为此,我使用Jquery
$(function () {
var inputs = $(".mGrid").find('input:text');
inputs.each(function (index, element) {
$(element).on('keyup', function (e) {
e.preventDefault();
if (e.which === 13) {
// alert("enter pressed");
if (index < inputs.length - 1) {
var currentInput = inputs[index];
//currentInput.blur();
$(':text').blur();
var nextInput = inputs[index + 1];
alert($(nextInput));
$(nextInput).focus();
} else {
$(inputs[0]).focus();
}
}
});
});
});
<asp:TextBox ID="txtScanLotNr" runat="server" BackColor="#D8D8D8" BorderStyle="None"></asp:TextBox>
不幸的是,我需要使用这应该是有效的。基本上,您必须先找到下一个
,然后找到其中的文本框
<asp:TextBox ID="txtScanLotNr" runat="server" BackColor="#D8D8D8" BorderStyle="None"></asp:TextBox>
<script type="text/javascript">
$('.mGrid input[type=text]').keypress(function (e) {
if (e.keyCode == 13) {
//eerst de td vinden ipv $(this).next anders werkt het niet
$(this).closest('td').next('td').find('input[type=text]').focus();
} else {
return;
}
});
</script>
$('.mGrid输入[type=text]')。按键(函数(e){
如果(e.keyCode==13){
//埃斯特·德·维登ipv$(本)。下一位安德斯·维特·尼特
$(this).closest('td').next('td').find('input[type=text]')).focus();
}否则{
回来
}
});
使用此GridView进行测试
<asp:TextBox ID="txtScanLotNr" runat="server" BackColor="#D8D8D8" BorderStyle="None"></asp:TextBox>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" CssClass="mGrid">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这不是经典的ASP-它是ASP.net WebForms-建议相应地更改标题。Appologies@Cal279这不是我的主题。到目前为止,我只使用过.net mvc,因为我的同事病了,他们让我这么做,但有点卡住了,这与我习惯使用的完全不同。它从左文本框转到右文本框,持续0.01秒,然后回到原始文本框。我发现它与jquery/javascript无关。检查小提琴和编辑。这与此有关,然后可能有其他代码将焦点设置回原处。我已经用asp:TextBox在aspnet GridView中进行了测试,效果很好。你能在JSFIDLE中演示一下吗?