【发布时间】:2014-07-02 03:13:02
【问题描述】:
我见过许多使用复选框和单选按钮进行过滤以显示不同类别的示例。问题是对于两个选定的类,任何一个类的所有元素都会显示,但我希望它只显示两个类的元素。这是一些示例代码:http://jsfiddle.net/DH3m3/
js:
function filterItems() {
var colors = $(":radio:checked").map( function(){ return this.value; }).get();
var goodClasses = colors.join(",");
$(".item").hide().filter(goodClasses).show();
}
filterItems();
$(":radio").change(filterItems);
和html:
<label for="one">one</label><input id="one" type="radio" name="number" value=".one" />
<label for="two">two</label><input id="two" type="radio" name="number" value=".two" />
<label for="none">none</label><input id="none" type="radio" name="number" value=".none" />
<hr/>
<label for="red">red</label><input id="red" type="radio" name="color" value=".red" />
<label for="blue">blue</label><input id="blue" type="radio" name="color" value=".blue" />
<label for="green">green</label><input id="green" type="radio" name="color" value=".green" />
<label for="non">none</label><input id="non" type="radio" name="color" value=".none" />
<hr/>
<div class="item one yellow">yellow</div>
<div class="item two red">red</div>
<div class="item one blue">blue</div>
<div class="item two green">green</div>
<div class="item one red green">red green</div>
<div class="item two red blue">red blue</div>
<div class="item one blue green">blue green</div>
<div class="item two red blue green">red blue green</div>
所以在这个例子中,如果选择了“one”和“red”,那么应该显示的元素应该是“red green”,或者如果“two”和“blue” - “red blue” ”和“红蓝绿”。有什么想法或想法吗?
【问题讨论】:
标签: javascript html filter show