我想做以下事情:
描述
当检查下一个复选框时,Ingredients selection
仅应显示使用检查成分的菜肴。使用复选框,因为应立即选择多种成分。
因此,如果tomato
和garlic
将被选中,那么只有盘子spaghetti
应该在 下可见Dishes
。
代码
my_html.html
<h1>Ingredients selection</h1>
<ul class="ingredient">
<li><label>tomato</label><input type="checkbox" name="" value=""></li>
<li><label>garlic</label><input type="checkbox" name="" value=""></li>
<li><label>peas</label><input type="checkbox" name="" value=""></li>
</ul>
<h1>Dishes</h1>
<ul class="dish">
<li style="display:none">spaghetti<span>[Ingredient: tomato, Ingredient: garlic]</span></li>
<li style="display:none">stir_fry<span>[Ingredient: garlic, Ingredient: peas]</span></li>
<li style="display:none">ice_cream<span>[Ingredient: sugar, Ingredient: milk]</span></li>
</ul>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script src="/static/js/script.js"></script>
请注意,这些值是通过模板语言从数据库生成的。
我走了多远:
脚本.js
$(function () {
////Jquery in here/////
$("input").change(function () {
if (this.checked) {
var selected_ingredient = $(this).parent().text();
var dishes = $("ul.dish").html();
/*
// Pseudocode
for li_element in dishes{
if (selected_ingredient in li_element){
li_element.overwrite_attribute(style, "display:block");
}
}
*/
}
});
});
我怎样才能实现这个功能?
这是代码的演示。