поиск в LI с помощью jquery

0

Я ищу в списке из 500 литов. используя следующий код. но сталкиваются с двумя проблемами. один, когда я нажимаю назад назад очень быстро после ввода чего-либо, он не фиксируется. а также поиск чувствителен к регистру, который я не хочу. пожалуйста, предложите улучшения в коде ниже:

$('#find_question').bind("keyup", function() {
    searchWord = $(this).val();
    console.log("input length",searchWord);
    if (searchWord.length >= 0) {

        $('#leftSection li').each(function(i, data) {
            text = $(this).text();
            if (text.match(RegExp(searchWord, 'i')))
                $(this).show();

            else
                $(this).hide();
        });
    }
});
Теги:

1 ответ

1

Попробуй это

СодержитIgnoreCase: Как сделать jQuery Содержит регистр без учета регистра, включая jQuery 1. 8+?

Live Demo

 $.expr[':'].containsIgnoreCase = function (n, i, m) {
    return jQuery(n).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
 };

$function() {
  $('#find_question').on("keyup", function() {
    searchWord = $(this).val();
    $('#leftSection li').hide();
    if (searchWord.length >= 0) {
      $('#leftSection li:containsIgnoreCase("'+searchWord+'")').show();
    }
  });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню