You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jquery .next()无法定位并聚焦分组中的下一个输入项问题

问题原因

你用的$(this).next('.single-digit')有局限——jQuery的.next()只找紧邻的下一个同级元素,但你的输入框后面跟着的是<span>标签,不是目标输入框,所以这个方法根本找不到下一个要聚焦的输入框,自然没法完成跳转。

解决方案

把跳转逻辑改成用.nextAll()方法,它会查找当前元素之后所有同级的匹配元素,再用.first()取第一个目标输入框,就能跳过中间的<span>了:

$('.single-digit').on('input', function() {
  if ($(this).val().length == $(this).attr('maxlength')) {
    $(this).nextAll('.single-digit').first().focus();
  }
});

要是想让体验更完善,还可以加个回退逻辑——删除内容时自动跳回上一个输入框:

$('.single-digit').on('input', function() {
  const $input = $(this);
  if ($input.val().length == $input.attr('maxlength')) {
    $input.nextAll('.single-digit').first().focus();
  }
}).on('keydown', function(e) {
  const $input = $(this);
  // 按下退格键且当前输入框为空时,跳回上一个输入框
  if (e.key === 'Backspace' && !$input.val()) {
    $input.prevAll('.single-digit').first().focus();
  }
});
效果验证

修改后,输入框内容达到最大长度时,会自动跳过中间的分隔<span>,精准定位并聚焦到下一个数字输入框,完美解决跳转失效的问题。

内容的提问来源于stack exchange,提问作者Dorvalla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 05:45:13