我正在尝试编写一个jquery调用来在用户选中复选框时选择复选框ul菜单中的“children”和“parent”。
这个jquery正确地选择了父母和孩子,但是当他们穿过父母时也会选择兄弟姐妹。
//Check the Parents
$(this).parents().find("input").checkUncheck(true);
//Check the Children
$(this).parent().siblings("ul").find("input").checkUncheck(true);
我不希望它在遍历祖先选择“父母”时选择兄弟姐妹,但我不知道如何做jquery。如果有人有关于如何做到这一点的一些提示,我将不胜感激!
感谢。
继承人HTML:
<ul id="p_menu_nav">
<li>
<span>
<input type="checkbox" title="no">
<img images/minus.gif" class="a_hand"> Wells Fargo
</span>
<ul >
<li >
<span>
<input type="checkbox" title="no">
<img src="images/plus.gif" class="a_hand"> Southern Utah
</span>
</li>
<li >
<span>
<input type="checkbox" title="no">
<img src="images/plus.gif" class="a_hand"> Northern Utah
</span>
</li>
<li >
<span>
<input type="checkbox" title="no">
<img images/minus.gif" class="a_hand"> Central Utah
</span>
<ul >
<li>
<input type="checkbox" name="approved_property_id_list" id="4835">Apartment 1
</li>
<li>
<input type="checkbox" name="approved_property_id_list" id="4844">Apartment 10
</li>
<li>
<input type="checkbox" name="approved_property_id_list" id="4934">Apartment 100
</li>
</ul>
</li>
</ul>
</li>
</ul>
答案 0 :(得分:1)
尝试这样的事情:
$(this).parents('li').find("> span > input").checkUncheck(true);
//Check the Children
$(this).closest('li').find('input').checkUncheck(true);
答案 1 :(得分:0)
试试这个:)
$(function(){
$("#p_menu_nav input").click(function(){
var that = "#"+this.id;
$("#p_menu_nav li:has(img)").each(function(){
if($(this).contents().find(that).length > 0){
$(this).find(">span input").attr("checked",true);
}
});
});
});