gpt4 book ai didi

javascript - 使用选项在图像上应用过滤器以实现搜索功能

转载 作者:太空宇宙 更新时间:2023-11-04 09:00:42 25 4
gpt4 key购买 nike

您好,我正在尝试编写一段代码,允许我为特定字段设置选项,并在单击搜索按钮后显示满足已应用过滤器要求的图像。

到目前为止,这是我的代码:正如您在下面的代码片段中看到的,我不确定如何向这些图像添加特定类别,然后进行搜索。例如,我将如何添加 ( 冒险,8+ 评级和出版一年像 pi 一样。然后将所有选项设置为所需的,然后当我单击搜索时只显示包含相同内容的书籍类别放在他们身上。

  .review-img {
cursor: pointer;
height: 160px; // height
//width: 30%; // width
}

#searchfield {
background-color:red;
height:150px;
margin-top:0px;
text-align: center;

}

#main-search-fields {
padding-top: 66px;
background-color:red;
}

.selects-container {
display: inline-block;

}
    <body>
<div id ="searchfield">
<div id="main-search-fields">
<div class="selects-container">
<p>Genre:</p>
<select name="genre">
<option value="all">All</option>
<option value="action">Action</option>
<option value="adventure">Adventure</option>
<option value="animation">Animation</option>
<option value="biography">Biography</option>
<option value="comedy">Comedy</option>
<option value="crime">Crime</option>
<option value="documentary">Documentary</option>

</select>
</div>
<div class="selects-container">
<p>Rating:</p>
<select name="rating">
<option value="0">All</option>
<option value="9">9+</option>
<option value="8">8+</option>
<option value="7">7+</option>
<option value="6">6+</option>
<option value="5">5+</option>
<option value="4">4+</option>
<option value="3">3+</option>
<option value="2">2+</option>
<option value="1">1+</option>
</select>
</div>
<div class="selects-container selects-container-last">
<p>Order By:</p>
<select name="order_by">
<option value="latest">Latest</option>
<option value="oldest">Oldest</option>
<option value="year">Year</option>
<option value="rating">Rating</option>
<option value="likes">Likes</option>
<option value="alphabetical">Alphabetical</option>
</select>
<input type="button" id="search" value="search" />
</div>
</div>
</div>

<section class='images'>
<img class="review-img" id="lifeofpi" src="https://images-na.ssl-images-amazon.com/images/I/51atapp7YTL._AC_US320_QL65_.jpg" alt="lifeofpi"></img>
<img class="review-img" id="kiterunner" src="https://images-na.ssl-images-amazon.com/images/I/51MtGFNeYjL._AC_US320_QL65_.jpg" alt="kiterunner"></img>
<img class="review-img" id="starwars" src="https://images-na.ssl-images-amazon.com/images/I/51oqkfvEwZL._AC_US320_QL65_.jpg" alt="starwars"></img>
<img class="review-img" id="twilight" src="https://images-na.ssl-images-amazon.com/images/I/41K99+cInvL._AC_US320_QL65_.jpg" alt="twilight"></img>
</section>

最佳答案

在 jQuery 中,您可以使用 val 方法检索您的 {genre} 和 {ratings} 选项的选定值:

var sSelectedGenre = $('select[name="genre"]').val().toLowerCase(); // lower case the text after getting its selected value
var sSelectedRating = $('select[name="rating"]').val().toLowerCase();

那么您的每个标签都必须具有特定的{genre} 和{ratings}(例如 data_genre="action"data_rating="6")

<img class="review-img" id="kiterunner" src="https://images-na.ssl-images-amazon.com/images/I/51MtGFNeYjL._AC_US320_QL65_.jpg" alt="kiterunner" data_genre="action" data_rating="6" />

这将作为您映射这些条件的“属性键”。在迭代中,您可以循环每个或使用 $.each: https://api.jquery.com/each/

然后根据[选项]中选择的值检查每个图像的属性是否匹配值

例子:

类型:冒险

评分:+8

$('.review-img').each(function() {
var sDataGenre = $(this).attr('data_genre'); // image's action attribute
var sDataRating = $(this).attr('data_rating'); // 6

if (sDataGenre === sSelectedGenre && sDataRating === sSelectedRating) {
$(this).show();
}
});

要获得进一步的指导,这里有一个示例 jsfiddle 可以提供帮助: http://jsfiddle.net/yctj37yx/ (你可以更好地重构这段代码)

希望这对您的情况有所帮助。虽然我建议在服务器端使用搜索过滤器功能来管理数据库 (TSQL/SQL)

关于javascript - 使用选项在图像上应用过滤器以实现搜索功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42786250/

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