Пустой массив при изменении значения текстового поля в Jquery - PullRequest
0 голосов
/ 11 июня 2018

Это отлично работает, если я ввожу строку в первый раз.Но затем, если я пытаюсь изменить его, он не работает, так как nameArray добавляет все значения в индекс.Я попытался очистить массив записи namArray = [];после $ ("# Код"). val ([]);но он делает длину nameArray 1 после каждого изменения в текстовом поле имени, и я не получаю свой результат.Это мой код.

var nameArray = [];
var count;
var i;    

$(document).ready(function () {

    $("#Name").on('input', function () {                                                    

        $("#Code").val([]);


        var getName = $("#Name").val();                       

        nameArray.push(getName);                

        if (nameArray.length >= 3) {
            count = 3;
        }
        else if (nameArray.length <= 3) {
            count = nameArray.length;
        }

        for (i = 0; i <= count; i++) {
            $('#Code').val(nameArray[i]);
        }

    });   

});

Я просто хочу очистить nameArray, если есть изменение в текстовом поле, чтобы оно могло взять новую измененную строку из текстового поля и работать таким образом.

1 Ответ

0 голосов
/ 11 июня 2018

Установите код для первых 4 символов имени.

$(document).ready(function () {
    $("#Name").on('input', function () {
        $("#Code").val(this.value.substring(0, 4));
    });   
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="Name" placeholder="Name">
<input type="text" id="Code" placeholder="Code">
...