gpt4 book ai didi

javascript - 过滤元素,如果没有结果显示这个

转载 作者:行者123 更新时间:2023-11-30 20:00:53 25 4
gpt4 key购买 nike

我正在根据数据属性中的内容过滤掉一些元素,如果没有结果,我想显示一些 HTML。我对 JS/jQuery 不是很了解,所以我不太清楚如何实现它。如果有人能指出我正确的方向,我将不胜感激。这是 jQuery:

$("#filter").keyup(function() {
var selectSize = $(this).val();
filter(selectSize);
});
function filter(e) {
var numVisible = 0;
var addCard = $('.ourTeamCards');
if(e) {
var regex = new RegExp('\\b\\w*' + e + '\\w*\\b', 'i');
$('.oneStaff').fadeOut(50).filter(function () {
var regExists = regex.test($(this).data('regions'));
if(regExists) {
numVisible +=1;
}
return regExists;
}).fadeIn(50);
} else {
$('.oneStaff').fadeIn(50);
}
if(numVisible == 0) {
addCard.append("<div class='noResults'>No Results</div>");
}
else {
$('.noResults').css('display', 'none');
}
}

这是一支带有工作示例的笔:https://codepen.io/west4me/pen/dQZxMZ如果您搜索怀俄明州,您会看到它的过滤条件。如果您搜索华盛顿,您不会得到任何结果。如果没有结果,我想附加一些 HTML/文本说明没有结果。

最佳答案

我设法弄清楚了。这是对我有用的代码:

$("#filter").keyup(function() {
var selectSize = $(this).val();
filter(selectSize);
});
function filter(e) {
var numVisible = 0;
var addCard = $('.ourTeamCards');
if(e) {
var regex = new RegExp('\\b\\w*' + e + '\\w*\\b', 'i');
$('.oneStaff').fadeOut(50).filter(function () {
var regExists = regex.test($(this).data('regions'));
if(regExists) {
numVisible +=1;
}
return regExists;
}).fadeIn(50);
if (numVisible == 0) {
$('.noResults').css('display', 'block');
}
else {
$('.noResults').css('display', 'none');
}
}
else {
$('.oneStaff').fadeIn(50);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="row">
<div class="col-12">
<div class="filterSearch">
<h1 class="">Filter</h1>
<input id="filter" type="text" class="form-control quicksearch" placeholder="Search">
<span class="d-block mt-2 searchIns">Search by country or state</span>
</div>
</div>
</div>
<div class="row ourTeamCards">
<div class="oneStaff col-4 border border-primary" data-target="#exampleModal" data-regions="Alaska, Arizona, Arkansas, California, Colorado, Hawaii, Idaho, Kansas, Louisiana, Missouri, Montana, Nebraska, Nevada, New Mexico, North Dakota, Oklahoma, Oregon, South Dakota, Texas, Utah, Wyoming">
Name
</div>
<div class="oneStaff col-4 border border-primary" data-target="#exampleModal" data-regions="Alaska, Arizona, Arkansas, California, Colorado, Hawaii, Idaho, Kansas, Louisiana, Missouri, Montana, Nebraska, Nevada, New Mexico, North Dakota, Oklahoma, Oregon, South Dakota, Texas, Utah">
Name
</div>
<div class="oneStaff col-4 border border-primary" data-target="#exampleModal" data-regions="Alaska, Arizona, Arkansas, California, Colorado, Hawaii, Idaho, Kansas, Louisiana, Missouri, Montana, Nebraska, Nevada, New Mexico, North Dakota, Oklahoma, Oregon, South Dakota, Texas, Utah">
Name
</div>
</div>
<div class="noResults" style="display:none;">No Results</div>

关于javascript - 过滤元素,如果没有结果显示这个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53393782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com