Я бы хотел, чтобы элементы .box отображались / скрывались на основе слов, которые ищет пользователь, поэтому, например, если пользователь вводит «Title2 Title1», потому что эти слова существуют внутри первого блока, и они останутся видимыми с переименование .box скрытие элементов. Весь текст в элементах .box должен быть доступен для поиска, а не только в элементе .title.
Ниже показано, как далеко я дошел. Это почти там, но это не совсем работает, как мы надеялись.
Любая помощь будет отличной.
Большое спасибо.
<input placeholder="Search" id="search" type="text" />
<div class="box">
<div class="title">Box Title1</div>
<div class="content">
Box title one content
</div>
</div>
<div class="box">
<div class="title">Box Title2</div>
<div class="content">
Box title two content
</div>
</div>
<div class="box">
<div class="title">Box Title3</div>
<div class="content">
Box title three content
</div>
</div>
<script>
$("#search").on("input", function () {
var search = $(this).val();
if (search !== "") {
var searchArray = search.split(" ");
searchArray.forEach(function(searchWord) {
$(".box").each(function () {
if($(this).is(':contains('+ searchWord +')')) {
$(this).show();
} else {
$(this).hide();
}
});
});
} else {
$(".box").show();
}
});
</script>