jquery实现显示已选用户 - Web前端
作者:98wpeu发布时间:2026-10-03分类:网页前端技术浏览:2
导读:选择用户是一个比较常用的功能,主要包含2个功能点(保存已选选项、显示已选用户)功能要求:1选择用户界面以弹出框方式显示2页面选项动态加载(部门及用户)3已选用户以勾选...
选择用户是一个比较常用的功能,主要包含2个功能点(保存已选选项、显示已选用户)
功能要求:
1 选择用户界面以弹出框方式显示
2 页面选项动态加载(部门及用户)
3 已选用户以勾选方式显示
实现分析:
首先因为窗口是个弹出框,所以页面的内容主要是以异步方式获取。因为内容分为两个部分(1待选项、2选中项)所以就有两种处理方法.
方法1:后台根据数据(1待选项、2选中项)生成完整的html代码,通过一次异步操作返回
方法2:待选项、和选中项通过2次异步方法获取,然后在页面JS事项选中效果。
因为不喜欢把很多逻辑写在页面上,所以比较喜欢第一种方案,也比较推荐。
页面
1 弹出选择共享文件的对话框
逻辑:1 异步调用 showShareRange 方法,获得完整的HTML代码。
//弹出选择共享文件的对话框
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 弹出框界面代码
<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
/**
* 显示指定文件、文件夹的共享范围(共享用户)
* @param request
fileid 选中的文件id
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 ? "" : request.getParameter("signid");
String objtype = request.getParameter("objtype") == Null ? "" : 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
/**
* 把共享范围转换成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参考(仅供参考,无需实现)
<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>
相关推荐
- jquery 取子节点及当前节点属性值的方法 - Web前端
- 超级好用的jQuery圆角插件 Corner速成 - Web前端
- 一个实用的图片切换支持点击切换和自动轮播 - Web前端
- jQuery源码分析之jQuery中的循环技巧详解 - Web前端
- jquery浏览器滚动加载技术实现方案 - Web前端
- jQuery获取动态生成的元素示例 - Web前端
- jQuery事件绑定和委托实例 - Web前端
- jquery网页回到顶部效果(图标渐隐,自写) - Web前端
- 图片放大镜jquery.jqzoom.js使用实例附放大镜图标 - Web前端
- 使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方) - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 9在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


