【发布时间】:2020-08-03 06:41:57
【问题描述】:
我希望 .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>
【问题讨论】:
-
你应该解释更多你想要实现的剩余部分
标签: javascript jquery arrays string loops