按下使用jquery输入下一个字段

时间:2014-11-15 04:53:03

标签: javascript jquery

我有一个html表单,只要按下enter,就会选择下一个字段 这是一个代码。



 $(document).on("keydown","input",function(event) {
    	if (event.which === 13) {
    		event.stopPropagation();
    		event.preventDefault();
    		$(this).nextAll("input").eq(0).focus();
    	}
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
    	<table>
    		<tr>
    			<td>Medical Record No.</td><td><input type="text" name="labNo" /></td>
    		</tr>
    		<tr>
    			<td>Age/sex </td><td><input type="text" name="age" />
    				<select id="age">
    					<option value="Year">Year</option>
    					<option value="Month">Month</option>
    				</select>
    				<select id="sex">
    					<option value="Male">Male</option>
    					<option value="Female">Female</option>
    				</select>
    			</td>
    		</tr>
    		<tr>
    			<td>Phone </td>
    			<td><input type="text" name="" value="-,-" /></td>
    		</tr>
    		<tr>
    			<td colspan="2"><input type="button" id="patBtn" value="Save (S)" accesskey="s" />
    				<input type="reset" value="Set Default (D)" accesskey="d" />
    			</td>
    		</tr>
    	</table>	
    </form>
&#13;
&#13;
&#13;

这不起作用。

2 个答案:

答案 0 :(得分:1)

尝试以下脚本

$(document).on("keydown","input",function(event) {
    debugger;
    if (event.which === 13) {
        event.stopPropagation();
        event.preventDefault();
        $(this).parents("tr").next().find("input").focus();
    }
});

<强> Demo

答案 1 :(得分:0)

无论html结构

,这都应该有效
$(document).on("keydown","input",function(event) {
if (event.which === 13 || event.keyCode === 13) {
    event.stopPropagation();
    event.preventDefault();
    var position = $(this).index('input');
    $("input").eq(position+1).focus();
}
 });

也适用于:

$(document).on("keydown, keyup","input, select",function(event) {
if (event.which === 13 || event.keyCode == 13) {
    event.stopPropagation();
    event.preventDefault();
    var position = $(this).index('input, select');
    $("input, select").eq(position+1).focus();
}
 });

jsfiddle:http://jsfiddle.net/xh0m7pzu/1/

相关问题