jQuery - 改变对下一个输入的关注

时间:2013-11-05 09:35:10

标签: jquery submit autofocus

我有这段代码

<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

1 个答案:

答案 0 :(得分:1)

从你的帖子:

  

我有这段代码

嗯,事实上,你没有。 jsFiddle链接中的代码非常不同。您可以使用嵌套结构,而不是在问题中显示的平面结构。 nextAll仅搜索当前元素的兄弟节点(整个HTML中的 )。

您的遍历方法需要更复杂。这样的事情可以做到:

$(this).closest('div.control-group').next().find('input').first().focus();

fiddle