用户点击后可出现不定数量的段落,段落的id是不同的但形势是差不多的,每个段落里也都有不定数量的复选框,复选框的id也是不同的,但是都有前缀,后边数字都是唯一的
现在是想在每个段落里加个全选和不全选,能控制这个段落的,别的控制不了
如fd1
cy1 cy2 cy4 cy22 cy32fd22
cy31 cy43 cy64 cy33fd33
cy8 cy38fd24
cy99这种段落的fd的是包着每个段落的层id,后边的数字都是不同的,点击每个段落的时候,里边的值能传到建立的隐藏域hdval里,隐藏域hdval保存值是按,号分隔的
每个段落是能叠加赋值的,当取消段落全选的时候隐藏域hdval里的值也要把那一段落的值都清空,但其他的保留。希望高手能指条明道拿jquery实现。。

解决方案 »

  1.   

    http://www.cnblogs.com/bynet/archive/2009/11/13/1602491.html给你一个jquery的全选全部选的链接参考与其说这么多 不如自己改着试试看全部都让别人做 就没意义了
      

  2.   

    有了dom操作,写这个很简单。
    可以参考:
    http://www.cnblogs.com/chenping-987123/archive/2010/12/06/1897796.html
      

  3.   

    <input type='checkbox' name='cbcityall21' id='cbcityall21'  onclick="lincbbycity('cbcityall21','cbbycity21')" />function lincbbycity(cid,cname) {
        $(function () {
            // chkAll全选事件
            $("#" + cid).bind("click", function () {
                $("[name = " + cname + "]:checkbox").attr("checked", this.checked);
            });        // chkItem事件
            $("[name =" + cname + "]:checkbox").bind("click", function () {
                var $chk = $("[name = " + cname + "]:checkbox");
                $("#" + cid).attr("checked", $chk.length == $chk.filter(":checked").length);
            })
        });
    }
    问下。。第一开始点击那个全选时是没反应的,貌似是执行了遍绑定事件而已。再点击一次才能开始时全选和取消全选额。。怎么改下呢。。
      

  4.   

    不知道这个可有帮助
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>无标题页</title>    <script src="js/jquery-1.6.min.js" type="text/javascript"></script>    <script type="text/javascript">
            $(document).ready(function(){
                $('.content').each(function(){
                    var $cont = $(this);
                    var $text = $cont.html();
                    var textNum = $text.length;
                    var textInt = $text.slice(0,140);
                    if (textNum >=160)
                    {
                        $cont.html(textInt +"..."+ "<a class=\"aaa\">详细↓</a>");
                        $('.aaa',$cont).click(function(event){
                            $cont.css("display","none");
                            
                            $cont.next("#cf").html($text+"<a onclick=\"dd('ac_1')\" id=\"ac_1\" class=\"bbb\">收起↑</a>").animate({
                               height: 'toggle', opacity: 'toggle'
                             }, { duration: "3000" });
                        })
                    }else{
                        $cont.html($text);
                    }
                })            
            })
            
            function dd(boj)
            {
                var o=$("#"+boj).parent("#cf");
                o.slideUp("3000",function(){$("p.content").fadeIn("1000")});
            }
        </script>    <style type="text/css">
            .content
            {
                font-size: 12px;
                color: #666;
                line-height: 23px;
                width: 740px;
                list-style: none;
                border-top:1px solid #000;
            }
            .aaa ,.bbb
            {
                color: #1E5494;
                font-size: 12px;
                cursor:pointer;
            }
        </style>
    </head>
    <body>
        <p class="content">
            这次在国家博物馆展出的韩美林艺术大展一共四个厅,第二个厅是雕塑厅。展出的不仅有他为多个城市设计的室外大型雕塑小样,
            比如《钱王射潮》,也有不少室内雕塑作品,比如《五云九如》、《牛头》、《吉祥小像》等。他的雕塑作品,以其崇高、壮美之气势,博大深厚之内蕴给人以心灵的震撼。
                韩美林的雕塑作品让我们看到了以韩美林为代表的具有中国文化特色的装饰性雕塑已自成体系,有人说韩美林的智慧在于他没有被现实主义雕塑法则所束缚,他消化、
                吸收、融合了中国古代雕塑的装饰规律,借鉴了古代艺术中的纹样造型和表现方法,并把这些因素综合成属于自己的形象符号,创造了一种具有现代形态的独特的雕塑风格,
                在他的作品中,注重结构和节奏的装饰美,成为欣赏的一个要点。要我看,韩美林的雕塑作品与他的书画作品属于一个风格,都喜欢用夸张、简约、变形的造型来表现作品中的对象,无论是人还是物。
                在雕塑厅,给我留下印象最深的是一组《母与子》雕塑。这些作品造型都非常简单,母亲都有着婀娜多姿的身段和温良甜美的表情,而与母亲在一起的孩子,无论是依偎在母亲身边的,或被母亲抱在怀中的,
                都显得稚嫩可爱,与高挑柔美的母亲形成强烈对比,也许韩美林正是想通过这一大一小、一高一低的明显反差,表现出一个幼小的生命是如何在伟大母亲的哺育下慢慢
                长大成人的。一位舞蹈家在看过这些作品后,非常感慨地说,《母与子》中的每一个母亲都像一个舞者,其动作造型充满了韵律之美,看到这些作品就想翩翩起舞。
        </p>    
        <div id="cf" style=" font-size:12px; line-height:23px; color:#333; width: 740px; display:none;">    
        </div>    
    </body>
    </html>
      

  5.   

    http://topic.csdn.net/u/20111216/23/9778ac1a-ba31-407b-975e-7b658834afd3.html假如如下所示:
    □父:□子1 □子2 □子3 □子4;
    先判断
    if($(":checkbox:checked").length<1)
                {
                    alert("至少选择一个");
                    return false;
                }
    function CheckChange(obj)
        {
            var _checked = $(obj).attr("checked")?true:false;
            $(obj).parents('td').next().find('input').attr('checked',_checked);
        }function aaa(obj)
        {
            var _checked = true;
            $(obj).parent().parent().find('input:checked').length==$(obj).parent().parent().find('input').length?true:false;
            
            $(obj).parents('td').prev().find('input').attr('checked',_checked);
        }
      

  6.   

    能帮忙看下现在这个么。。
    input是动态生成的。所以需要给每个checkbox加个onclick来传入段落id
    <input type='checkbox' name='cbcityall21' id='cbcityall21'  onclick="lincbbycity('cbcityall21','cbbycity21')" />function lincbbycity(cid,cname) {
        $(function () {
            // chkAll全选事件
            $("#" + cid).bind("click", function () {
                $("[name = " + cname + "]:checkbox").attr("checked", this.checked);
            });        // chkItem事件
            $("[name =" + cname + "]:checkbox").bind("click", function () {
                var $chk = $("[name = " + cname + "]:checkbox");
                $("#" + cid).attr("checked", $chk.length == $chk.filter(":checked").length);
            })
        });
    }
    第一开始点击那个全选时是没反应的,貌似是执行了遍绑定事件而已。再点击一次才能开始时全选和取消全选
      

  7.   

    当然是动态生成的咯,好吧,把源码贴了。
    我的JQ是1.6min版
    先是JS
    function check()
            {
                var role= trim(document.getElementById("txt_RoleName").value);
                if(role=="")
                {
                    alert("...名称不能为空!");
                    return false;
                }
                if($(":checkbox:checked").length<1)
                {
                    alert("至少选择一个");
                    return false;
                }
            }
    function CheckChange(obj)
        {
            var _checked = $(obj).attr("checked")?true:false;
            $(obj).parents('td').next().find('input').attr('checked',_checked);
        }
        
        function aaa(obj)
        {
            var _checked = true;
            $(obj).parent().parent().find('input:checked').length==$(obj).parent().parent().find('input').length?true:false;
            
            $(obj).parents('td').prev().find('input').attr('checked',_checked);
        }下面是HTML<table>
     <tr>
                    <td align="right" class="td1" style="width: 15%">
                        .....名称
                    </td>
                    <td>
                        <%--<asp:TextBox runat="server" ID="txt_PowerId" CssClass="input"></asp:TextBox>--%>
                        <table style="width:100%;" class="table">
                        <asp:Repeater runat="server" ID="rpt_RoleList" 
                            onitemdatabound="rpt_RoleList_ItemDataBound">
                            <ItemTemplate>
                                <tr class=<%#(Container.ItemIndex%2==0)?"\"trnull\"":"\"tr1\""%> >
                                <td align="right"  style="width: 15%">
                                    <asp:CheckBox runat="server" ID="parentId" Text='<%#Eval("MenuName") %>' Font-Bold="true" onclick="CheckChange(this);"/></td>
                                <td align="left">
                                    <asp:CheckBoxList runat="server" ID="cbList" RepeatDirection="Horizontal" RepeatLayout="Flow" onclick="aaa(this);">
                                        </asp:CheckBoxList>
                                </td>
                            </tr>
                            </ItemTemplate>
                        </asp:Repeater>
                        </table>
                       
                    </td>
                </tr>
    部分省略...
    </table>
    <asp:Button ID="btnSave" runat="server" Text="确定" CssClass="button" OnClick="btnSave_Click" OnClientClick="return check()" />后台代码:只贴关键的:
    /// <summary>
        /// 活动选中的小类Id
        /// </summary>
        /// <returns></returns>
        private string getCheckBoxListValue()
        {
            //取得CheckBoxList选中项的值
            string returnValue = "";
            foreach (RepeaterItem DataItem in rpt_RoleList.Items)
            {
                foreach (ListItem item in ((CheckBoxList)DataItem.FindControl("cbList")).Items)
                {
                    if (item.Selected == true)
                    {
                        if (returnValue == "")
                        {
                            returnValue = item.Value;
                        }
                        else
                        {
                            returnValue += "," + item.Value;
                        }
                    }
                }
            }
            return returnValue;
        }
      

  8.   

    额。。辛苦了,不过貌似有个缺点额。。就是全选后虽然都选中了,但是当取消一个的时候,那个全选还是挂勾的。。当里边的全选满了。。全选按钮并没有勾上。。
    function lincbbycity(cid,cname) {
        $(function () {
            // chkAll全选事件
            $("#" + cid).bind("click", function () {
                $("[name = " + cname + "]:checkbox").attr("checked", this.checked);
            });        // chkItem事件
            $("[name =" + cname + "]:checkbox").bind("click", function () {
                var $chk = $("[name = " + cname + "]:checkbox");
                $("#" + cid).attr("checked", $chk.length == $chk.filter(":checked").length);
            })
        });
    }
    这个js确实能干了这些事情。。就是触发不太好。。
    我试试改改你那个。。