首页 web前端 js教程 jquery实现显示已选用户_jquery

jquery实现显示已选用户_jquery

May 16, 2016 pm 04:41 PM
jquery

选择用户是一个比较常用的功能,主要包含2个功能点(保存已选选项、显示已选用户)

功能要求:

1 选择用户界面以弹出框方式显示

2 页面选项动态加载(部门及用户)

3 已选用户以勾选方式显示

实现分析:

首先因为窗口是个弹出框,所以页面的内容主要是以异步方式获取。因为内容分为两个部分(1待选项、2选中项)所以就有两种处理方法.

方法1:后台根据数据(1待选项、2选中项)生成完整的html代码,通过一次异步操作返回

方法2:待选项、和选中项通过2次异步方法获取,然后在页面js事项选中效果。

因为不喜欢把很多逻辑写在页面上,所以比较喜欢第一种方案,也比较推荐。

页面

1 弹出选择共享文件的对话框
逻辑:1 异步调用 showShareRange 方法,获得完整的html代码。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

//弹出选择共享文件的对话框

  function showShareFile(){

    disableFileArea();

    if(!chooseObj.isChoosed()){

      handleWarm("请先选择文件或者目录");

      enableFileArea();

      return;

    }

    $('#shareRange').html('');

    showflowcontent('fxcontentflow');

    $.ajax({

      url : '../share/showShareRange.do',

      //url:'${ctx}/index.jsp',

      cache : false,

      type : 'post',

      dataType : 'html',

      async : true,

      contentType : "application/x-www-form-urlencoded;charset=utf-8",

      data : {

        'signid' :chooseObj.id,

        'objtype' :chooseObj.type

      },

      success : function(html) {

        $('#shareRange').html(html);

          

      }

    })

   }

登录后复制

2 弹出框界面代码

1

2

3

4

5

6

7

8

9

10

11

<div class="flowcontent" id="fxcontentflow">

 <div id="fxloadfile" class="content">

  <div class="title"><strong>分享文件</strong><input type="button" class="closebtn gb" onClick="hideflowcontent(this)" title="关闭" /><input type="button" class="hidebtn" /></div>

  <div class="body">

   <div class="file" id='shareRange'><!-- 共享范围 -->

   </div><!-- file -->

   <div class="btns"><input type="button" class="submitbtn" value="" onClick="shareFile()" /><input type="button" class="cancelbtn gb" onClick="closeflowcontent('fxcontentflow')" /></div>

   <div class="h30"></div>

  </div>

 </div>

</div>

登录后复制

后台代码
controller

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

/**

   * 显示指定文件、文件夹的共享范围(共享用户)

   * @param request

    &#61548;  fileid  选中的文件id

&#61548;      folderid 选中的文件夹id

      objtype  操作对象类型(file、folder)

   * @param response

   * @throws Exception

   * @

   * return 0表示无权限操作/1表示有权限操作

   *

   */

  public void showShareRange(HttpServletRequest request,HttpServletResponse response) {

    String signid = request.getParameter("signid") == null &#63; "" : request.getParameter("signid");

    String objtype = request.getParameter("objtype") == null &#63; "" : request.getParameter("objtype");

    // 获得当前共享用户

    List<String> userIdList= fileShareManager.showShareRange(signid, objtype);

    try {

      // 把共享范围转换成html格式

      String str = fileShareManager.trunToShareRangeHtml(userIdList);

      response.setCharacterEncoding("UTF-8");

      PrintWriter pw = response.getWriter();

      pw.write(str);

      pw.flush();

      pw.close();

    } catch (Exception e) {

      // TODO Auto-generated catch block

      logger.info(e);

      e.printStackTrace();

    }

  }

登录后复制

service

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

/**

   * 把共享范围转换成html格式

   * @param userIdList 已经共享的人员列表

   * @return

   * @throws Exception

   */

  public String trunToShareRangeHtml(List<String> userIdList) throws Exception{

    IOrgServiceClient client = new IOrgServiceClient();

    IOrgServicePortType service = client.getIOrgServiceHttpPort();

    List<WebDeptment> deptlist = Ws_DeptCenter.getAllDepts();

    Map map = new HashMap();

    StringBuffer sb = new StringBuffer();

    //循环每个的部门

    for(WebDeptment dept:deptlist){

      log.info(dept.getDepId());

      List<DmUser> userList = userManager.getUserListByDeptid(dept.getDepId(),dept.getActdepId(), service);

      sb.append("<div class=\"fxtitle\">"+dept.getDepMiniName()+"</div>");

        sb.append("<ul class=\"fxxz\">");

          //循环每个的部门用户

          for(DmUser user:userList){

            String userid = user.getUserId();

            String username = user.getUserName();

            sb.append("<li>");

            // 用户是否属是共享用户

            if(userIdList.contains(userid)){

              log.info(userid);

              sb.append("<input type='checkbox' checked=true name='shareUserId' value ='").append(userid).append("'/>").append(username).append(" "); 

            }else{

              sb.append("<input type='checkbox' name='shareUserId' value ='").append(userid).append("'/>").append(username).append(" ");

            }

            sb.append("</li>");

          }

        sb.append("</ul>");

    }

    return sb.toString();

  }

登录后复制

service 生成的html参考(仅供参考,无需实现)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<div class="fxtitle">院领导</div>

  <ul class="fxxz">

    <li><input type="checkbox" name="shareUserId" value="xiaolin">肖林 </li>

    <li><input type="checkbox" name="shareUserId"

      value="wangshuotong">王硕佟 </li>

    <li><input type="checkbox" name="shareUserId"

      value="wangshengyang">汪胜洋 </li>

    <li><input type="checkbox" name="shareUserId" value="qifeng">齐峰 </li>

    <li><input type="checkbox" name="shareUserId" value="tangyiwen">唐忆文 </li>

    <li><input type="checkbox" name="shareUserId"

      value="zhanglisheng">张利生 </li>

    <li><input type="checkbox" name="shareUserId" value="zhengshao">郑韶 </li>

  </ul>

  <div class="fxtitle">办公室</div>

  <ul class="fxxz">

    <li><input type="checkbox" name="shareUserId" value="lujianping">陆建平 </li>

    <li><input type="checkbox" checked="true" name="shareUserId"

      value="guoshunlan">郭顺兰 </li>

    <li><input type="checkbox" name="shareUserId" value="fangying">方颖 </li>

    <li><input type="checkbox" name="shareUserId" value="jiaoxiaojun">焦晓君 </li>

    <li><input type="checkbox" checked="true" name="shareUserId"

      value="songweilei">宋维蕾 </li>

    <li><input type="checkbox" name="shareUserId" value="zhangxinmin">张新民 </li>

    <li><input type="checkbox" checked="true" name="shareUserId"

      value="lijing">李靖 </li>

    <li><input type="checkbox" name="shareUserId" value="wangkaiyu">王开宇 </li>

  </ul>

登录后复制

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

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

jQuery引用方法详解:快速上手指南 jQuery引用方法详解:快速上手指南 Feb 27, 2024 pm 06:45 PM

jQuery引用方法详解:快速上手指南

jQuery中如何使用PUT请求方式? jQuery中如何使用PUT请求方式? Feb 28, 2024 pm 03:12 PM

jQuery中如何使用PUT请求方式?

jQuery如何移除元素的height属性? jQuery如何移除元素的height属性? Feb 28, 2024 am 08:39 AM

jQuery如何移除元素的height属性?

jQuery小技巧:快速修改页面所有a标签的文本 jQuery小技巧:快速修改页面所有a标签的文本 Feb 28, 2024 pm 09:06 PM

jQuery小技巧:快速修改页面所有a标签的文本

深度剖析:jQuery的优势与劣势 深度剖析:jQuery的优势与劣势 Feb 27, 2024 pm 05:18 PM

深度剖析:jQuery的优势与劣势

使用jQuery修改所有a标签的文本内容 使用jQuery修改所有a标签的文本内容 Feb 28, 2024 pm 05:42 PM

使用jQuery修改所有a标签的文本内容

了解jQuery中eq的作用及应用场景 了解jQuery中eq的作用及应用场景 Feb 28, 2024 pm 01:15 PM

了解jQuery中eq的作用及应用场景

如何判断jQuery元素是否具有特定属性? 如何判断jQuery元素是否具有特定属性? Feb 29, 2024 am 09:03 AM

如何判断jQuery元素是否具有特定属性?

See all articles