我有这段代码
<form method="post" class="form-horizontal" role="form">
<label for="qt" class="control-label">Qt</label>
<input type="text" class="form-control" id="qt" name="qt" min="1" step="1" />
<label for="code" class="control-label">Code</label>
<input type="text" class="form-control" id="code" name="code" placeholder="code" />
<button type="submit" class="btn btn-default">Submit</button>
操作员使用条形码扫描器将数据插入到输入字段中,因此我必须创建一个jQuery代码,当“qt”更改时自动关注下一个输入,并在“代码”被提交时提交表单改变。
我读了another similar post,我写了这个:
$(document).ready(function(){
$("#qt").change(function () {
$(this).nextAll("input").first().focus();
});
$("#code").change(function () {
this.form.submit();
});
});
但它无法正常工作。您可以尝试jsfiddle.net
答案 0 :(得分:1)
从你的帖子:
我有这段代码
嗯,事实上,你没有。 jsFiddle链接中的代码非常不同。您可以使用嵌套结构,而不是在问题中显示的平面结构。 nextAll
仅搜索当前元素的兄弟节点(整个HTML中的 不 )。
您的遍历方法需要更复杂。这样的事情可以做到:
$(this).closest('div.control-group').next().find('input').first().focus();