用户操作
[即时聊天] [发私信] [加为好友]
夏纯中ID:danny_xcz
856647次访问,排名41好友2人,关注者81
danny_xcz的文章
原创 296 篇
翻译 3 篇
转载 25 篇
评论 638 篇
纯月的公告
最近评论
zjxzou:bucuo~
yu3350360:收藏了先 呵呵
henhaohll:有些意思啊!呵呵 ..
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
snowring:你好,能留下联系方式吗?
我也在研究MULE,QQ:7766284
谢谢了。
文章分类
收藏
    相册
    Blog用途
    我的相册
    Java Desktop
    Open Source
    友情链接
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 实现基于json的级联菜单收藏

    新一篇: 并行版本控制的好帮手--WinMerge | 旧一篇: 将Bonita工作流引擎和eXo Portal相结合

     对于ajax应用来说,把和控件榜定的数据用json来承载,既可以避免频繁调用httprequest,也可以避免xml带来的性能解释。

    假设我们要有一个级联菜单,显示用户组以及下面的用户,我们可以这样做

          $group_user = Array();   
          $groups = $db->getAll("select * from $dbutils->group");


          for ($i = 0, $count = count($groups); $i < $count; $i++) {
         
             $users = $db->getAll("select * from $dbutils->user_group ug,$dbutils->user u where ug.user_id = u.user_id and ug.group_id = ".$groups[$i]['group_id']);
             $group_user[$groups[$i]['group_id']]['users'] = $users;
          }


          $json = new JSON(JSON_LOOSE_TYPE);
          $group_user_json_data = $json->encode($group_user);  //将数据从php数组转换成javascript数组
         

         
          $group_user_javascript_data = '<script type="text/javascript">' . "\n"
       . '<!-- // associated javascript data' . "\n"
       . 'var group_user_json_data = '
       . $group_user_json_data . ";\n"
       . '-->' . "\n"
       . '</script>';

     

    在模板表单里面

    <?php

     echo $group_user_javascript_data;    //把json的数据显示出来
     

    ?>

    <script language="javascript" type="text/javascript" >
     
    function addOptions(optionList, optionMenu)
    {
     removeOptions(optionMenu);  // clear out the options
     for (var i=0; i < optionList.length; i++) {
      
       optionMenu[i] = new Option(optionList[i].truename, optionList[i].user_id);

      }

    }

     

    function removeOptions(optionMenu)
    {
      len = optionMenu.options.length;
      for (var i=len-1; i >=0 ; i--) {
      
        optionMenu.options[i] = null;

      }

    }

     
    function change_group() {

      var users = group_user_json_data[document.getElementById('receive_group').value]['users'];//从json里面得到对象

      addOptions(users, document.getElementById('receive_user'))

     
      
    }
    </script>

     

                                        <tr>
                                          <td width="10%" >接收部门</td>
                                          <td width="80%"><select name="receive_group" onchange="change_group()"><?php echo build_group_select(''); ?></select></td>
                                         </tr> 
                                        <tr>
                                          <td>接收人</td>
                                          <td><select name="receive_user" id="receive_user"></select></td>
                                         </tr>     

    发表于 @ 2006年09月20日 08:05:00|评论(loading...)|编辑

    新一篇: 并行版本控制的好帮手--WinMerge | 旧一篇: 将Bonita工作流引擎和eXo Portal相结合

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 纯月