0

0

Easyui 实现3级联动的用户选择功能

php中文网

php中文网

发布时间:2016-06-07 11:39:26

|

1985人浏览过

|

来源于php中文网

原创

3级联动用户选择功能
由于最近开发了一个新的办公信息系统,需要用到站内信功能,发站内信时接受人的信息是用点选的,找了好多资料,但实现起来还是比较麻烦,做完上去easyui的官网看了下,已经更新到1.4.2了,看了下更新内容新增了datalist的功能,昨晚睡前想好实现的思路,今天一早开始码代码!很简单的一个方法,放上来分享,没有demo,只说说实现的方法和简单的代码。
先上一张图吧!
Easyui 实现3级联动的用户选择功能

左边的部门是个tree,点击部门的时候,会获取该部门的用户,获取到的用户显示到中间的“待选用户”里,单击"待选用户"的姓名,会直接在已选用户中插入。

单击部门的tree组件的时候,会获取“已选用户”的uid,然后将获取到的uid和部门id发给后台过滤,这样,“待选用户”里的数据就不会和“已选用户”的数据重复。

先看看selectUser.html的代码吧!


    

        

            

                

            

            


            

        

    

    

        

        

        

            
        

        

            

          

      JS代码:Hzcwd.ns("Hzcwd.Admin.Common.SelectUser");

      var $selectUserTree = $('#admin_common_selectuser_tree'), $selectUserUnselectDataList = $('#admin_common_selectuser_unselect_datalist'), $selectUserSelectDataList = $('#admin_common_selectuser_selected_datalist');

      $(function() {
          $selectUserTree.tree({
              url: '{:U("/Admin/Common/getDeptTree")}',
              fit: true,
              animate: true,
              nowarp: false,
              border: false,
              idField: 'id',
              treeField: 'deptname',
              columns: [
                  [{
                      field: 'deptname',
                      title: '部门名称',
                      width: 180
                  }]
              ],
              onClick: function(node) {
                  if ($(this).tree('isLeaf', node.target) ==true) {
                      var selected = $selectUserSelectDataList.datalist('getRows');
                      var uids = [];
                      $.each(selected, function() {
                          uids.push(this.uid);
                      });
                      $selectUserUnselectDataList.datalist('load',{
                          deptid:node.id,
                          uids:uids,
                      })
                  }else{
                      $(this).tree('toggle', node.target);
                  }
              }
          });

          $selectUserUnselectDataList.datalist({
              title:'待选用户',
              fit:true, 
              border:true, 
              plain:false,  
              valueField: 'uid', 
              textField: 'username', 
              singleSelect: false,
              url: '{:U("./Admin/Common/getUserList")}',
              onClickRow:function(index,row){
                  $selectUserSelectDataList.datalist('appendRow',row)
                  $(this).datalist('deleteRow',index)
              }

          })

          $selectUserSelectDataList.datalist({
              title:'已选用户',
              fit:true, 
              border:true, 
              plain:false,  
              valueField: 'uid', 
              textField: 'username', 
              singleSelect: false,
          
              onClickRow:function(index,row){
                  $selectUserUnselectDataList.datalist('appendRow',row)
                  $(this).datalist('deleteRow',index)
              }
          })

          Hzcwd.Admin.Common.SelectUser.selectAll = function(){
              var data = $selectUserSelectDataList.datalist('getRows');
              var uids = [];
              $.each(data, function() {
                  uids.push(this.uid);
              });
              console.info(uids)
          }
      })
      后台代码:public function selectUser() {
              $this->display();
          }

          public function getDeptTree(){    //部门树形表格数据
              $data = M('Department')->order('sort')->select();
              $this->ajaxReturn(getTree($data,'id','pid','deptname'));
          }

          public function getUserList(){        //获取部门列表
              $deptid = I('deptid');
              $uids = I('uids');
              $where['department'] = array('eq',$deptid);
              $where['uid'] = array('not in',$uids);
              if (empty($deptid)) {
                  $dataArr[0]['username'] = '没有数据';
              }else{
                  $dataArr = M('User')->where($where)->field('uid,department,username')->order('sort')->select();
                  if (empty($dataArr)) {
                      $dataArr[0]['username'] = '没有数据';
                  }
              }
              $this->ajaxReturn($dataArr);
          }
      不太懂去表达要去表达的东西,希望可以看得懂,也希望可以帮到您,更希望大家可以给更好的建议!!勿喷~~~~

      pm:easyui是最新的1.4.2版本,老版本没有datalist组件的!!

      AD:真正免费,域名+虚机+企业邮箱=0元

      本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

      相关专题

      更多
      虚拟号码教程汇总
      虚拟号码教程汇总

      本专题整合了虚拟号码接收验证码相关教程,阅读下面的文章了解更多详细操作。

      29

      2025.12.25

      错误代码dns_probe_possible
      错误代码dns_probe_possible

      本专题整合了电脑无法打开网页显示错误代码dns_probe_possible解决方法,阅读专题下面的文章了解更多处理方案。

      20

      2025.12.25

      网页undefined啥意思
      网页undefined啥意思

      本专题整合了undefined相关内容,阅读下面的文章了解更多详细内容。后续继续更新。

      37

      2025.12.25

      word转换成ppt教程大全
      word转换成ppt教程大全

      本专题整合了word转换成ppt教程,阅读专题下面的文章了解更多详细操作。

      6

      2025.12.25

      msvcp140.dll丢失相关教程
      msvcp140.dll丢失相关教程

      本专题整合了msvcp140.dll丢失相关解决方法,阅读专题下面的文章了解更多详细操作。

      2

      2025.12.25

      笔记本电脑卡反应很慢处理方法汇总
      笔记本电脑卡反应很慢处理方法汇总

      本专题整合了笔记本电脑卡反应慢解决方法,阅读专题下面的文章了解更多详细内容。

      6

      2025.12.25

      微信调黑色模式教程
      微信调黑色模式教程

      本专题整合了微信调黑色模式教程,阅读下面的文章了解更多详细内容。

      5

      2025.12.25

      ps入门教程
      ps入门教程

      本专题整合了ps相关教程,阅读下面的文章了解更多详细内容。

      4

      2025.12.25

      苹果官网入口直接访问
      苹果官网入口直接访问

      苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

      218

      2025.12.24

      热门下载

      更多
      网站特效
      /
      网站源码
      /
      网站素材
      /
      前端模板

      精品课程

      更多
      相关推荐
      /
      热门推荐
      /
      最新课程
      Git 教程
      Git 教程

      共21课时 | 2.2万人学习

      Kotlin 教程
      Kotlin 教程

      共23课时 | 2万人学习

      PHP新手语法线上课程教学
      PHP新手语法线上课程教学

      共13课时 | 0.8万人学习

      关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
      php中文网:公益在线php培训,帮助PHP学习者快速成长!
      关注服务号 技术交流群
      PHP中文网订阅号
      每天精选资源文章推送

      Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号