Отображение всех li с определенным значением и скрытие всех остальных с помощью jQuery? - PullRequest
0 голосов
/ 06 ноября 2019

Это один из многих li limnts, которые у меня есть в ul:

<li data-content="51046" data-state="1" data-qty="1">
    <span data-action="newspaper-date">04.01.1980</span>
</li>

Как видите, в HTML-содержании есть дата. Теперь у меня также есть поле ввода, в которое вводится дата в виде dd.mm.yyyy. Входные данные хранятся в переменной с именем inputValue, которая обновляется каждый раз, когда в поле ввода происходит изменение.

Я пытался показать li-элементы с этим кодом:

$j('.dropdown ul li:contains("' + inputValue + '")').show();

Тоработает, но не скрывает не соответствующие. Есть идеи?

Спасибо

1 Ответ

1 голос
/ 06 ноября 2019

Здесь рабочий код:

let inputValue = "04.01.1980"

$('ul li span').each(function(ix, el) {
  console.log($(this).html())
  if ($(this).html() == inputValue)
    $(this).closest("li").toggle();
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li data-content="51046" data-state="1" data-qty="1" style="display:none">
    <span data-action="newspaper-date">04.01.1980</span>
  </li>
  <li data-content="51046" data-state="1" data-qty="1" style="display:none">
    <span data-action="newspaper-date">05.01.1980</span>
  </li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...