【发布时间】:2012-12-12 06:21:39
【问题描述】:
设计师在这里学习编码,在我的 js 中或使用 jquery 并不太远。试图获得一个与此人几乎相同的复选框过滤器:http://jsfiddle.net/BCbeU/,但似乎无法让它像我正在构建的网站上的 jsfiddle 一样运行。
这是我的复选框的 html:
<div class="tags">
<label><input type="checkbox" rel="all"/> Show All </label>
<label><input type="checkbox" rel="one"/> 1 Bedroom </label>
<label><input type="checkbox" rel="two"/> 2 Bedroom </label>
<label><input type="checkbox" rel="below"/> Below $1500 </label>
<label><input type="checkbox" rel="above"/> Above $1500 </label>
</div>
这是我要过滤的项目的 html:
<div id="shelf1-housing">
<ul class="results">
<li class="all one">
<a href="html/sessionone.html">
<div class="box">
<img src="../images/apartment2.jpg">
<h4>3 Bedroom Apartment</h4>
<h5>$1500 a month</h5>
</div>
</a>
</li>
<li class="all below">
<a href="html/sessionone.html">
<div class="box">
<img src="../images/apartment1.jpg">
<h4>3 Bedroom Apartment</h4>
<h5>$1500 a month</h5>
</div>
</a>
</li>
<li class="below all">
<a href="html/sessionone.html">
<div class="box">
<img src="../images/apartment2.jpg">
<h4>3 Bedroom Apartment</h4>
<h5>$1500 a month</h5>
</div>
</a>
</li>
<li class="all above">
<a href="html/sessionone.html">
<div class="box">
<img src="../images/apartment1.jpg">
<h4>3 Bedroom Apartment</h4>
<h5>$1500 a month</h5>
</div>
</a>
</li>
<li class="all">
<a href="html/sessionone.html">
<div class="box">
<img src="../images/apartment2.jpg">
<h4>3 Bedroom Apartment</h4>
<h5>$1500 a month</h5>
</div>
</a>
</li>
</ul><!--End of Results-->
</div><!--End of Shelf1-Housing-->
这里是javascript:
$('div.tags').delegate('input:checkbox', 'change', function(){
var $lis = $('.results > li').hide();
//For each one checked
$('input:checked').each(function(){
$lis.filter('.' + $(this).attr('rel')).show();
});
});
提前感谢您的帮助。仍在学习基础知识,他们还没有让我走这么远,很快,但还没有:)
【问题讨论】:
-
我没有发现任何问题:jsfiddle.net/DerekL/FGetW
-
我认为你使用了错误的事件,考虑使用点击,而不是改变。
-
@RobG - 有什么区别?
-
@RobG 谢谢,我会换掉它,看看我能不能让它工作。我仍然让它在 js fiddle 中工作得很好,但不是在这里:assemblyman.co/html/filter.html 我假设我错过了一些超级简单的东西,就链接 jquery 或 js fiddle 的实际脚本而言。
标签: javascript jquery filter