Javascript在循环中的特定数量的字母后添加字母

时间:2016-12-06 10:58:31

标签: javascript jquery loops variables this

我试图在输入文本字段中添加一个br符号,如果它有超过5个字母。(写作时)

我的代码在5个字母后创建br符号,但它创建的符号不超过1个。

代码:

please see image    

1 个答案:

答案 0 :(得分:1)

我强烈建议这样做(似乎对问题有评论)。

但如果你真的想要,请使用input,而不是keyup,删除之前添加的<br>个标记,然后分解整个字符串而不是仅仅添加结束。见评论:

&#13;
&#13;
(function(i) {
  $('#input' + i).on('input', function() {
    // No need to look it up repeatedly, remember the jQuery wrapper for this input
    var $this = $(this);
    // Get the value
    var val = $this.val();
    if (val.length > 5) {
      // Remove old <br>s
      val = val.replace(/<br>/g, "");
      // Add new ones
      var result = "";
      while (val) {
        result += val.substring(0, 5);
        val = val.substring(5);
        if (val) {
          result += "<br>";
        }
      }
      // Set the value
      $this.val(result);
    }
  });
}(0))
&#13;
<input type="text" id="input0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;