http://pan.baidu.coom mboxm/mbox/homepage?short=jICREdw

关于jquery选中checkbox的问题 - ITeye问答
&&& &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();
}
问题补充:zhanjia 写道添加一个方法更完美:
* 页面加载完毕后执行操作
$(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);
谢谢大家,那天晚上忙活了2个多小时,已经搞定了
function checkAll(obj){
var bool = $(obj).attr("checked");
$.each($(obj).parent().next().find("li input"),function(){
$(this).attr("checked",bool);
主要是在find 的时候没有处理好,原先以为$(obj).parent().next().("li input")这样也是可以的,但试了之后,这样是取不到东西的
采纳的答案
添加一个方法更完美:
* 页面加载完毕后执行操作
$(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);
function checkAll(obj){
$(obj).parent().next().find(":checkbox").attr("checked", $(obj).attr("checked"));
如果没有div的话,很难
给你一个级联checkbox的,你参考下。
已解决问题
未解决问题jquery 鑾峰彇checkbox 鎴

我要回帖

更多关于 http pan.baidu岛国 的文章

 

随机推荐