本帖最后由 sayfree 于 2012-04-18 06:45:42 编辑

解决方案 »

  1.   

    请教js高手,上面这个f()函数的功能实现。
      

  2.   

    自己终于做好了,嘿嘿。跟帖者给分,顺便贴出代码。
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
    <%
    if request("act")="add" then
    response.Write request.Form("a")
    else
    %>
    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head><script type="text/javascript">
    function change(name,o){
    if(name!="chkall"){
    //如果不是总选按钮,则分类全选。
    var a=document.getElementsByName("chk_"+name);
    for(var i=0;i<a.length;i++){
    a[i].checked=o.checked; //跟选。大类勾选,小类也勾选,大类取消,小类也取消.
    }
    }else{
    //如果是总选按钮的话,则所有input全选。
    var a=document.getElementsByTagName("input");
    for(var i=0;i<a.length;i++){
    if(a[i].type=="checkbox"){ //判断如果是chechbox类型的input的话。使用checked/
    a[i].checked=o.checked;
    }
    }
    }
    }
    //以上实现全选以及分选。并遴选出checkbox类型。
    function unselectall() //小类的点击函数
    //选择小类,如果大类未选,则大类选中,
    //小类全部不选,则大类取消选
    {
    var srcelement=window.event.srcElement;  //事件元素
    var a=srcelement.name;
    var al="a"+srcelement.name; //得到大类元素名称
    var srt=document.getElementsByName(a);
    var cls=document.getElementsByName(al)[0];
    var x=0;
    for(var i=0;i<srt.length;i++){
    if(srt[i].checked==false)
    x+=1;
    }if(x==srt.length){ 
    cls.checked=false;
    }
    else
    {
    cls.checked=true;
    }
        if(document.form1.chkall.checked){
    document.form1.chkall.checked = document.form1.chkall.checked&0;
        } 
    }
    </script>
    </head><body>
    <form id="form1" name="form1" method="post" action="test.asp?act=add">
    <%
    for i=1 to 3
    %>
    <input name="achk_<%=i%>" type="checkbox" onclick="change('<%=i%>',this)" value="a<%=i%>">
    a<%=i%><br/>
    <%
    for j=1 to 5
    %>
    <input name="chk_<%=i%>" type="checkbox" value="a<%=i%><%=j%>"  onClick="unselectall()" >
    chk_<%=i%> &nbsp;&nbsp;
    <%
    next
    %>
    <br/>
    <%
    next
    %><br/>
    <input name="chkall" type="checkbox" onclick="change('chkall',this)" value="all">all
    <input type="submit" name="Submit" value="提交" />
    &nbsp; <br/>
    </form></body>
    </html>
    <%
    end if
    %>
      

  3.   

    是这个。
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head><script type="text/javascript">
    function change(name,o){
    if(name!="chkall"){
    //如果不是总选按钮,则分类全选。
    var a=document.getElementsByName("chk_"+name);
    for(var i=0;i<a.length;i++){
    a[i].checked=o.checked; //跟选。大类勾选,小类也勾选,大类取消,小类也取消.
    }
    }else{
    //如果是总选按钮的话,则所有input全选。
    var a=document.getElementsByTagName("input");
    for(var i=0;i<a.length;i++){
    if(a[i].type=="checkbox"){ //判断如果是chechbox类型的input的话。使用checked/
    a[i].checked=o.checked;
    }
    }
    }
    }
    //以上实现全选以及分选。并遴选出checkbox类型。
    function unselectall() //小类的点击函数
    //选择小类,如果大类未选,则大类选中,
    //小类全部不选,则大类取消选
    {
    var srcelement=window.event.srcElement;  //事件元素
    var a=srcelement.name;
    var al="a"+srcelement.name; //得到大类元素名称
    var srt=document.getElementsByName(a);
    var cls=document.getElementsByName(al)[0];
    var x=0;
    for(var i=0;i<srt.length;i++){
    if(srt[i].checked==false)
    x+=1;
    }if(x==srt.length){ 
    cls.checked=false;
    }
    else
    {
    cls.checked=true;
    }
        if(document.form1.chkall.checked){
    document.form1.chkall.checked = document.form1.chkall.checked&0;
        } 
    }
    </script>
    </head><body>
    <form id="form1" name="form1" method="post" action="test.asp?act=add">
    <%
    for i=1 to 3
    %>
    <input name="achk_<%=i%>" type="checkbox" onclick="change('<%=i%>',this)" value="a<%=i%>">
    a<%=i%><br/>
    <%
    for j=1 to 5
    %>
    <input name="chk_<%=i%>" type="checkbox" value="a<%=i%><%=j%>"  onClick="unselectall()" >
    chk_<%=i%> &nbsp;&nbsp;
    <%
    next
    %>
    <br/>
    <%
    next
    %><br/>
    <input name="chkall" type="checkbox" onclick="change('chkall',this)" value="all">all
    <input type="submit" name="Submit" value="提交" />
    &nbsp; <br/>
    </form></body>
    </html>