【发布时间】:2021-11-21 13:49:51
【问题描述】:
我打算通过显示和隐藏带有复选框的 div 来创建过滤器。
我看过this 之类的帖子,但我还没有达到我期望的结果。这是代码的一部分:
<div class="container">
<h3 style="font-size:14px; font-weight:normal;">Products by Room</h3>
<p style="font-size:12px;"><strong>Filter items by room:</strong></p>
<form>
<label style="font-size:12px;"><input type="checkbox" name="room" value="office" id="red" /> Office</label><br>
<label style="font-size:12px;"><input type="checkbox" name="room" value="bedroom" id="yellow" /> Bedroom</label><br>
<label style="font-size:12px;"><input type="checkbox" name="room" value="living-room" id="pink" /> Living Room</label><br>
<label style="font-size:12px;"><input type="checkbox" name="room" value="dining-room" id="purple" /> Dining Room</label><br>
<label style="font-size:12px;"><input type="checkbox" name="room" value="library" id="green" /> Library</label><br>
<label style="font-size:12px;"><input type="checkbox" name="room" value="hallway" id="other" /> Hallway</label>
</form>
<div class="products-by-room">
<div data-category="office library">Office, Library</div>
<div data-category="office">Office</div>
<div data-category="hallway library">Hallway, Library</div>
<div data-category="living-room dining-room">Living-room & Dining-room</div>
<div data-category="living-room">Living-room</div>
<div data-category="bedroom dining-room">Bedroom & Dining-room</div>
<div data-category="dining room">Dining room</div>
<div data-category="office">Office</div>
<div data-category="bedroom">Bedroom</div>
<div data-category="living-room">Living-room</div>
<div data-category="living-room dining-room office library">Living-room, Dining-room, Office & Library</div>
<div data-category="library">Library</div>
<div data-category="office">Office</div>
<div data-category="bedroom">Bedroom</div>
</div>
</div>
如您所见,在某些 div 中只有一个数据类别:
<div data-category="office">Office</div>
但我也有多个数据类别的 div:
<div data-category="office library">Office & Library</div>
我正在寻找的结果是,当我选中“Office”复选框时,我希望它显示在数据类别属性中包含 office 的所有 div,无论它只是 office 还是 office 和其他房间类型。
所以,如果我选择了复选框办公室,我只想显示以下 div:
<div data-category="office library">Office, Library</div>
<div data-category="office">Office</div>
<div data-category="living-room dining-room office library">Living-room, Dining-room, Office & Library</div>
<div data-category="office">Office</div>
关于如何实现这一点的任何提示?
【问题讨论】:
标签: javascript html jquery checkbox filter