Javascript 如何使用jQiuery更改此表上光标的焦点()?
我有这样一个HTML表:Javascript 如何使用jQiuery更改此表上光标的焦点()?,javascript,jquery,dom,jquery-selectors,focus,Javascript,Jquery,Dom,Jquery Selectors,Focus,我有这样一个HTML表: <table id="order-table"> <tr class="row-header"> <td style="width: 40px; text-align: center; size: 8pt;">Delete<input tabindex="-1" id="checkbox-delete-all" type="checkbox"></td> <td s
<table id="order-table">
<tr class="row-header">
<td style="width: 40px; text-align: center; size: 8pt;">Delete<input tabindex="-1" id="checkbox-delete-all" type="checkbox"></td>
<td style="width: 70px;">Line</td>
<td style="width: 140px;">Product ID</td>
<td style="width: 70px;">Order Qty</td>
<td style="width: 140px;">Description</td>
<td style="width: 140px;">ABC8</td>
<td style="width: 140px;">UPC</td>
<td style="width: 140px;">NDC</td>
</tr>
<tr class="row">
<td style="text-align: center;"><input tabindex="-1" class="checkbox-delete-row" type="checkbox"></td>
<td class="row-target" style="width: 70px;">10</td>
<td style="width: 140px;"><input class="id-target" name="original-input[1]" style="width: 140px;" type="text" /></td>
<td style="width: 70px;"><input class="qty-target" name="qty[1]" style="width: 70px;" type="text" value="1" /></td>
<td style="width: 140px;"></td>
<td style="width: 140px;"><input readonly tabindex="-1" class="abc8-target" name="abc8[1]" style="width: 140px; border: 0; background: transparent" type="text" value="12345678" /></td>
<td style="width: 140px;"></td>
<td style="width: 140px;"></td>
</tr>
</table>
$("#dialog-create-order").on("keydown", function(event) {
if (event.which === 13) {
$(this).parents("td").next("td").find("input").focus();
event.preventDefault();
}
});
该表可能有n个由
代码组成的附加行
按下enter键时,我希望光标转到下一个输入框(在当前行上,然后在下一行上),但当前不是。我正在使用jquery1.10.2。我做错了什么
小提琴:给你,菲利普-希望这有帮助
$("input[type=text]").on("keydown", function(event) {
if (event.which === 13) {
console.log("Enter pressed");
var nextOnRow = $(this).parent().next("td").find("input[type=text]");
if(nextOnRow.length != 0) {
nextOnRow.focus();
} else {
var nextRowInputs = $(this).parent().parent().next("tr").find("input[type=text]");
if(nextRowInputs.length > 0) {
nextRowInputs[0].focus();
}
}
event.preventDefault();
}
});
这是JFiddle:您想要的-->不会像请求的那样转到下一行