Почему значение моего счетчика никогда не превышает 1? - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь использовать количество в моем поиске jquery, чтобы найти общее количество совпадений, найденных в общей сложности, когда я получаю результаты из файла json после ввода имени в строку поиска.На данный момент я получаю только 1 совпадений после каждого отдельного результата вместо общего количества совпадений в поиске.Есть что-то, чего я здесь не хватает?Спасибо

Вот код

$(document).ready(function() {
    $('#search').keyup(function() {
        $('#result').html('');
        var searchField = $('#search').val();
        var expression = new RegExp(searchField, "i");
        $.getJSON('address.json', function(data) {

            $.each(data, function(key, value) {

                var count = 0;

                if (value.name.search(expression) != -1) {
                    count++;
                    $('#result').append('<li class="list-group-item">' 
                        + value.name + '</li>');
                    $('#result').append(count + 'Matches Shown');

                }

                if (searchField == "") {
                    $('#result').html(""); // this clears the SearchBar
                    return; // this makes the bar return to it's original state
                }
            });
        });
    });
});

1 Ответ

0 голосов
/ 27 ноября 2018

Вы сбрасываете count на каждой итерации.Определите это вне каждой вашей функции.

$(document).ready(function() {
    $('#search').keyup(function() {
        $('#result').html('');
        var searchField = $('#search').val();
        var expression = new RegExp(searchField, "i");
        var count = 0;

        $.getJSON('address.json', function(data) {
            $.each(data, function(key, value) {
                if (value.name.search(expression) != -1) {
                    count++;
                    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...