根据JavaScript中的价格和类别复选框隐藏和显示div
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了根据JavaScript中的价格和类别复选框隐藏和显示div,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2483字,纯文字阅读大概需要4分钟。
内容图文
![根据JavaScript中的价格和类别复选框隐藏和显示div](/upload/InfoBanner/zyjiaocheng/679/f7feb81d9dae41039160a4e5d3e8327c.jpg)
我有一个div布置,其中定义了数据属性.就像我在具有数据属性(即数据类别和数据价格)的div中显示产品列表一样.我想根据类别和价格复选框的选择来隐藏和显示div. HTML的结构如下:
<div class="content" data-category="shoes" data-price="1000">shoe1</div><br />
<div class="content" data-category="shirts" data-price="1200">shirt1</div><br />
<div class="content" data-category="shoes" data-price="2000">shoe2</div><br />
<div class="content" data-category="shoes" data-price="800">shoe3</div><br />
<div class="content" data-category="shirts" data-price="1300">shirt2</div><br />
<div class="content" data-category="shirts" data-price="800">shirt3</div><br />
<input type="checkbox" class="category" category="shoes" id="shoes">shoes
<input type="checkbox" class="category" category="shirts" id="shirts">shirts
对于类别,我保留了复选框,但是对于价格,我想使用范围jquery滑块,但我无法使用该过滤器.基本上,如果您从复选框中选择“鞋子”来选择类别,则应该显示仅包含鞋子的div;然后,如果您使用价格的开始和结束限制对结果进行过滤,则应该显示鞋类div处于该特定范围内.不超出范围.
例如:-我们选择了鞋子复选框,它应该显示鞋子div;那么如果我们选择范围为1000-2000,则应该显示shoe1和shoe2,而不是shoe3.请帮忙.
解决方法:
由于“类别”在html中不是有效的属性名称,因此应改用其他名称.在这种情况下,直接使用id是很自然的,因为无论如何这就是您需要的值:
<input type="checkbox" class="category" id="shoes">shoes
<input type="checkbox" class="category" id="shirts">shirts
对于范围,您可能会有这样的事情:
<input type="radio" name="range" value="0-9000" checked>All
<input type="radio" name="range" value="0-999">0-1000
<input type="radio" name="range" value="1000-2000">1000-2000
然后在javascript中:
$("input.category").prop("checked", true).change(function (e) {
//Trigger change event on active price range item where the filter is applied
$("input[name=range]:checked").trigger("change");
});
$("input[name=range]").change(function (e) {
var toggle = this.checked;
var range = this.value.split('-');
var rangeFrom = parseInt(range[0]);
var rangeTo = parseInt(range[1]);
// If all category checkboxes are off we will ignore category filter
var allOff = ($("input[type=checkbox]:checked").length === 0);
$(".content[data-price]").each(function(){
var $this = $(this);
// Check if category is active
var active = allOff || $("#" + $this.data("category")).prop("checked");
// Get price as number
var price = parseFloat($this.data('price'));
// Toggle visibility based on category and price range
$this.toggle(price >= rangeFrom && price <= rangeTo && active );
});
});
内容总结
以上是互联网集市为您收集整理的根据JavaScript中的价格和类别复选框隐藏和显示div全部内容,希望文章能够帮你解决根据JavaScript中的价格和类别复选框隐藏和显示div所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。