首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动选项卡无法工作,无法找到同一个类的下一个实例

自动选项卡无法工作,无法找到同一个类的下一个实例
EN

Stack Overflow用户
提问于 2017-04-24 16:12:22
回答 1查看 241关注 0票数 0

我有困难做自动标签的输入。我正在试图找到同一类的下一个实例,但我不知道我在这里做错了什么。

有人能在这里给我建议一下吗?

jsFiddle https://jsfiddle.net/zincy/g8urecma/

HTML:

代码语言:javascript
复制
    <div class="container">
  <div class="input-container">
    <input id="pin-code" type="password" maxlength="1" class="pin-input">
    <label for="pin-code">Password input</label>
  </div>
  <div class="input-container">
    <input id="pin-code" type="password" maxlength="1" class="pin-input">
    <label for="pin-code">Password input</label>
  </div>
  <div class="input-container">
    <input id="pin-code" type="password" maxlength="1" class="pin-input">
    <label for="pin-code">Password input</label>
  </div>
  <div class="input-container">
    <input id="pin-code" type="password" maxlength="1" class="pin-input">
    <label for="pin-code">Password input</label>
  </div>
  <button type="button" class="show-password">Show/Hide
    <i class="icon-hide-password"></i>
  </button>
</div>

JQUERY:

代码语言:javascript
复制
    $(".pin-input").keyup(function () {
  this.value = this.value.replace(/[^0-9\.]/g,'');

  if (this.value.length == this.maxLength) {
    var $next = $(this).parent().next('.input-container').find('.pin-input');

    if ($next.length) {
      $(this).next('.pin-input').focus();
    }

    else {
      $(this).blur();

    }

  }
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-24 16:23:33

您已经正确地找到了下一个.pin-input,所以使用该变量。

所以而不是

代码语言:javascript
复制
if ($next.length) {
  $(this).next('.pin-input').focus();
}

使用

代码语言:javascript
复制
if ($next.length) {
  $next.focus();
}

代码语言:javascript
复制
$(".pin-input").keyup(function() {
  this.value = this.value.replace(/[^0-9\.]/g, '');

  if (this.value.length == this.maxLength) {
    var $next = $(this).parent().next('.input-container').find('.pin-input');

    if ($next.length) {
      $next.focus();
    } else {
      $(this).blur();

    }

  }
});
代码语言:javascript
复制
@import url('//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css');

label { font-size: 0;}
.input-container {
  display:inline-block;
 
  }
  .pin-input{
     width: 48px;
  height: 48px;
  text-align: center
  }
  .container{
    width: 530px;
  }
  .show-password {
    font-size: 0;
  }
  
  .fa {
    font-size: 30px;
  }
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
  <div class="input-container">
    <input id="pin-code" type="password" maxlength="1" class="pin-input">
    <label for="pin-code">Password input</label>
  </div>
  <div class="input-container">
    <input id="pin-code" type="password" maxlength="1" class="pin-input">
    <label for="pin-code">Password input</label>
  </div>
  <div class="input-container">
    <input id="pin-code" type="password" maxlength="1" class="pin-input">
    <label for="pin-code">Password input</label>
  </div>
  <div class="input-container">
    <input id="pin-code" type="password" maxlength="1" class="pin-input">
    <label for="pin-code">Password input</label>
  </div>
  <button type="button" class="show-password">Show/Hide
    <i class="icon-hide-password"></i>
  </button>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43593036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档