找到一个仿开心的下拉选人功能,但是看了看代码~~  不太会用。。主要是,选分类,比如“大学同学”、“现在同事”,里面应该改成不同的分类人员。就是这里,不知道怎么改???还有,希望分类能加个“全选”的功能。代码在下面:Demo:http://al-groupselect.appspot.com 
Code:http://code.google.com/p/groupselect 谢谢哈~~~   各位多帮忙了啊~~~

解决方案 »

  1.   

    这个可以用Ajax的异步提交,也可以用JQuery的json携带,具体的例子,楼主直接在网上找一下吧,我好长时间没有做这个了
      

  2.   

    好像都是在取
     
    function getItemData(gid){//没有使用id参数
     return [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'},{'id':'3','name':'三毛'}, {'id':'4','name':'四毛'}, {'id':'5','name':'五毛'},{'id':'6','name':'六毛'},{'id':'7','name':'七毛'},{'id':'8','name':'小明'}];
    }
     
    的函数里面的东西????
     谁能教教我呀~~~~   5555~~~
      

  3.   

    两个选择哈,一是静态数据,一是动态数据.1 动态数据
    //在默认参数的基础上自定义参数
    $(activeParameters).attr(
    {'frameId':'al-groupselect-active',
     'needactive':true,
     'ajaxRequestUrl':{'group':'/groupServlet','item':'/itemServlet','active':'/activeServlet'}
    });
    '/groupServlet'用来获取组信息
    '/itemServlet' 用来获取列信息
    '/activeServlet' 用来获取已经选定的
    所以你只需要替换后面的servlet就可以了,每个servlet返回json串.
    2 静态数据
    首先定义json的串,这个串一定是包含所有数据的.
    修改下面的三个函数function getActiveData(text){//没有使用text参数
             //这个一般返回空了,因为初始化肯定没有选中的
    return [{'id':'2','name':'二毛'},{'id':'4','name':'四毛'},{'id':'6','name':'六毛'}, {'id':'8','name':'小明'}];
    }function getItemData(id){//没有使用id参数
             //$('#al-groupinfo-static').attr(staticParameters.groupInfo.gid) 来获取组id,然后从最上面定义所有数据的json串里取出对应数组id的数据,并返回
    return [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'},{'id':'3','name':'三毛'}, {'id':'4','name':'四毛'}, {'id':'5','name':'五毛'},{'id':'6','name':'六毛'},{'id':'7','name':'七毛'},{'id':'8','name':'小明'}];
    }function getGroupData(){
    return [{'id':'all','name':'全部好友'}, {'id':'1','name':'现在同事'},{'id':'2','name':'以前同事'},{'id':'3','name':'大学同学'},{'id':'4','name':'高中同学'},{'id':'5','name':'家人亲戚'},{'id':'6','name':'普通朋友'}];
    }至于全选的话,一般可用jquery来操作,操作对应id下面的所有checkbox选中.
      

  4.   

    楼上的老师~~  谢谢哈~~呵,还是不太明白~~  能不能帮我写个样子~~ 比如全部的是  [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'},{'id':'3','name':'三毛'},    {'id':'4','name':'四毛'},    {'id':'5','name':'五毛'},{'id':'6','name':'六毛'},{'id':'7','name':'七毛'},{'id':'8','name':'小明'}];现在同事是'id':'1','name':'大毛'},{'id':'2','name':'二毛'}以前同事是},{'id':'3','name':'三毛'},    {'id':'4','name':'四毛'}我不明白写成什么样的形式~~  怎么传gid~~~呵呵,我jquery和javascript都比较弱~~  多谢您帮忙啦~~  谢谢哈~~~
      

  5.   


    function getItemData(gid){
      gid=gid.toString();
      switch(gid){
        case "0": return [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'},{'id':'3','name':'三毛'},    {'id':'4','name':'四毛'},    {'id':'5','name':'五毛'},{'id':'6','name':'六毛'},{'id':'7','name':'七毛'}, {'id':'8','name':'小明'}];
          break;
        case "1": return [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'}];    break;
        case "2": return [{'id':'3','name':'三毛'},{'id':'4','name':'四毛'}];    break;
        case "3": return [{'id':'5','name':'五毛'},{'id':'6','name':'六毛'}];    break;
        case "4": return [{'id':'7','name':'七毛'},{'id':'8','name':'小明'}];    break;
      }
    }
    var a=getItemData(1);
    alert(a[1].name)
    </script>
      

  6.   


    function getItemData(id){//没有使用id参数
        var id = $('#al-groupinfo-static').attr(staticParameters.groupInfo.gid);
        var jsonData = [{gid:1,nodes:[{'id':'1','name':'大毛'},{'id':'2','name':'二毛'}]}, {gid:2,nodes:[{'id':'3','name':'三毛'},{'id':'4','name':'四毛'}]}];
        for(var i=0;i< jsonData.length;i++)
        {
           if(jsonData[i].gid == id)
             return jsonData[i].nodes;
        }
      

  7.   


    <script>
    function getItemData(gid){
      gid=gid.toString();
      switch(gid){
        case "0": return [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'},{'id':'3','name':'三毛'},    {'id':'4','name':'四毛'},    {'id':'5','name':'五毛'},{'id':'6','name':'六毛'},{'id':'7','name':'七毛'}, {'id':'8','name':'小明'}];
          break;
        case "1": return [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'}];    break;
        case "2": return [{'id':'3','name':'三毛'},{'id':'4','name':'四毛'}];    break;
        case "3": return [{'id':'5','name':'五毛'},{'id':'6','name':'六毛'}];    break;
        case "4": return [{'id':'7','name':'七毛'},{'id':'8','name':'小明'}];    break;
      }
    }
    var a=getItemData(1);
    alert(a[1].name)
    </script>
      

  8.   

    呵,另外,还有个问题~~ 我如何把结果提交呢,比如用from  或11.php?id=3  这样的形式都行~~
      

  9.   

    <!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>
    <style>
      body{margin:0px auto}
    </style>
    <script>
    function CheckAll(obj){
      var o=document.getElementsByName("chk")
      for(var i=0;i<o.length;i++){
        o[i].checked=obj.checked
      }
    }</script>
    </head>
    <body>  
    <input type=checkbox id=allchk name=allchk onclick="CheckAll(this)">全选/全空
    <hr>
    <input type=checkbox id=chk0 name=chk value="1">选择1
    <input type=checkbox id=chk1 name=chk value="2">选择2
    <input type=checkbox id=chk2 name=chk value="3">选择3
    <input type=checkbox id=chk3 name=chk value="4">选择4
    <input type=checkbox id=chk4 name=chk value="5">选择5
    </body>
      

  10.   

    提交就用<form method=post action=你的URL name=frm>
    ...........
    </form>凡是勾选的才会出现在目标页面的request("chk");
    例如20楼代码,你选了“选择1”和“选择5”,那request("chk")会得到"1, 5"这样的字符串。
    当然,你可以自己设置value
    <input type=checkbox id=chk0 name=chk value="AAA">选择1 
    你设置了什么,勾选以后传过去的就是什么 
      

  11.   


    <!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=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    $("input:button").click(function(){
    $("input:checkbox").attr("checked",true);
    });
    });
    </script>
    </head>
    <body>
    <input type="checkbox"/>
    <input type="checkbox"/>
    <input type="checkbox"/>
    <input type="checkbox"/>
    <input type="button" value="check all">
    </body>
    </html>
      

  12.   

    呵,楼上两位老师~ 谢谢~~  但您好像误会我的意思了~~我是说在这个功能的下拉框里的,也就是可选"全部"""大学同学"什么的那个框左边加上个"全选",,而不是问全选功能如何实现~~另外,如果提交~~  也是在这些选上后如何提交到别的页面~~这个程序里写的是:function getresultstatic(){
    alert('你选的是: ' + getstaticdata());
    } 呵,谢谢谢谢~~  再帮我看看哈,
      

  13.   

    呵呵,传参我会写了~~~function getresultstatic(){
    location.href="groupselect.html?id="+ getstaticdata();
    } 只要发出来,然后就用我的php接收就好了~~呵,现在问题是"全选"~~  帮我看看哈~~  谢谢哈~~
      

  14.   

    真有你的。把20楼的代码选择你需要的剪贴到你的程序就可以了呀。
    <script>
    /*这段脚本放进你程序的<head>里*/
    function CheckAll(obj){
      var o=document.getElementsByName("chk")
      for(var i=0;i <o.length;i++){
        o[i].checked=obj.checked
      }
    }</script>这一行放你那个选择框前面
    <input type=checkbox id=allchk name=allchk onclick="CheckAll(this)">全选/全空下面的是你用脚本动态生成的(你在选择框里选了什么,取出返回值,在这个div里动态生成checkbox控件,红字是id值)
    <div id=magicone></div>
    <input type=checkbox id=chk0 name=chk value="1">大毛
    <input type=checkbox id=chk1 name=chk value="2">二毛
    </div>
      

  15.   

    呵呵,谢谢楼上的老师~~  我是不会动态生成~~  呵呵,jquery和javascript太弱了~~~