<div class="permissions">
<h3><input type="checkbox" name="checkbox" onclick="checkAll(this)" /><strong>产品管理发布</strong></h3>
<ul>
<li><input type="checkbox" name="checkbox" id="checkbox" />新闻资讯</li>
<li><input type="checkbox" name="checkbox" id="checkbox" />产品发布</li>
<li><input type="checkbox" name="checkbox" id="checkbox" />求购信息</li>
</ul>
<br class="clear" />
<h3><input type="checkbox" name="checkbox" onclick="checkAll(this)" /><strong>中英翻译</strong></h3>
<ul>
<li><input type="checkbox" name="checkbox" id="checkbox" />用户翻译</li>
<li><input type="checkbox" name="checkbox" id="checkbox" />数字统计</li>
<li><input type="checkbox" name="checkbox" id="checkbox" />产品翻译</li>
</ul>
<br class="clear" />
<h3><input type="checkbox" name="checkbox" onclick="checkAll(this)" /><strong>广告管理</strong></h3>
<ul>
<li><input type="checkbox" name="checkbox" id="checkbox" />前台广告</li>
<li><input type="checkbox" name="checkbox" id="checkbox" />公司广告</li>
</ul>
<br class="clear" />
<h4><input type="submit" name="button" id="button" value="提 交" class="form_b_ok" /><a href="user_list.html" class="a_b_back">取 消</a></h4>
</div>
问题 :如何在点击checkAll(this)时把相邻ul下的input中全部选中 我只取到<ul></ul>中的内容,下面不知道怎么弄 function checkAll(obj){
$(obj).parent().next();
}
添加一个方法更完美:
[code="javascript"]
/**
* 页面加载完毕后执行操作
*/
$(function() {
// 对所有子节点添加事件
$("div[class='permissions'] li :checkbox").click(function() {
var ppUl = $(this).parent().parent();
// 如果子节点全部没勾选,父节点也取消勾选
if (ppUl.find(":checkbox:checked").length <= 0) {
ppUl.prev().find(":checkbox").attr("checked", false);
}
// 如果子节点全部选中,父节点也勾选
else if (ppUl.find(":checkbox:checked").length == ppUl.find(":checkbox").length) {
ppUl.prev().find(":checkbox").attr("checked", true);
}
});
});
[/code]
如果没有div的话,很难
给你一个级联checkbox的[url=http://dl.iteye.com/topics/download/bf1319a4-0581-3c31-809d-6767de140f31]例子[/url],你参考下。
这样:
[code="javascript"]
function checkAll(obj){
$(obj).parent().next().find(":checkbox").attr("checked", $(obj).attr("checked"));
}
[/code]