我试图在输入文本字段中添加一个br符号,如果它有超过5个字母。(写作时)
我的代码在5个字母后创建br符号,但它创建的符号不超过1个。
代码:
please see image
答案 0 :(得分:1)
我强烈建议不这样做(似乎对问题有评论)。
但如果你真的想要,请使用input
,而不是keyup
,删除之前添加的<br>
个标记,然后分解整个字符串而不是仅仅添加结束。见评论:
(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;