JQuery通过Onblur输入值动态附加文本

时间:2017-06-02 08:53:51

标签: javascript jquery

当我输入输入(1)时,它成功附加文本。但是当我擦除然后输入值并再次给出输入(2)然后它随着先前值(1 + 2 = 3)增加。其中循环计数的前一个值和当前值

first i gave 1 then append 1text then i again give 1 then it append two text. Where loop count previous and present value

   $(document).ready(function(){
    var i=0;
    $("#flatcount").blur(function() {
            var floor = (this).value;
                for(i=1;i<=floor;i++) {
                    $('#row').append('<p>This is appended text</p><br>');
                }
    });
});

2 个答案:

答案 0 :(得分:1)

你需要清空element.before,如$('#row').empty()

$(document).ready(function() {
  var i = 0;
  $("#flatcount").blur(function() {
    var floor = $(this).val();
    $('#row').empty() //empty
    for (i = 1; i <= floor; i++) {
      $('#row').append('<p>This is appended text</p><br>');
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" id="flatcount">
<p id="row"></p>

答案 1 :(得分:1)

使用此代码我认为它会起作用

$(document).ready(function(){
    var i=0;
    $("#flatcount").blur(function() {
               $("#row").empty();
               var floor = (this).value;
                for(i=1;i<=floor;i++) {
                    $('#row').append('<p>This is appended text</p><br>');
                }
    });
});