jquery编程开发中保存已选用户实现方法
程序员文章站
2024-02-07 09:56:46
1介绍
功能要求:
1 选择用户界面以弹出框方式显示
2 页面选项动态加载(部门及用户)
3 保存勾选的用户
实现分析:
保存已选用户逻辑:
删除原来已选择的用户记录...
1介绍
功能要求:
1 选择用户界面以弹出框方式显示
2 页面选项动态加载(部门及用户)
3 保存勾选的用户
实现分析:
保存已选用户逻辑:
删除原来已选择的用户记录列表(相当于清空操作)
添加新选择用户记录列表
页面
1 保存共享文件
// 保存共享文件 function sharefile(){ // 参数 var signid = chooseobj.id; var objtype = chooseobj.type; var userlist = ""; $("input[name=shareuserid]").each(function(){ // 此时的this 就是那个 html中的 那个checkbox对象。所以通过 // this.checked 直接访问属性都是可以的 if($(this).attr('checked')){ userlist = userlist+$(this).val()+"," } }); if(userlist.length>0){ userlist = userlist.substring(0, userlist.length-1) } $.ajax({ url : '../share/sharefile.do', //url:'${ctx}/index.jsp', cache : false, type : 'post', datatype : 'html', async : false, contenttype : "application/x-www-form-urlencoded;charset=utf-8", data : { 'signid' : signid, 'objtype' : objtype, 'userlist':userlist }, success : function(ret) { // 异常处理 if(ret==3){ handlewarm("目标文件夹是自己"); return; }else if(ret==2){ handlewarm("不能移动至子目录"); return; } // closeflowcontent('fxcontentflow'); refreshthiscontent(); } }) }
页面选项内容html参考(仅供参考,无需实现)
<p class="fxtitle">院领导</p> <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> <p class="fxtitle">办公室</p> <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>
后台代码
controller层
public void sharefile(httpservletrequest request,httpservletresponse response) { string signid = request.getparameter("signid") == null? "": request.getparameter("signid"); string objtype = request.getparameter("objtype") == null? "": request.getparameter("objtype"); string userlist = request.getparameter("userlist") == null?"": request.getparameter("userlist"); user user = (user)request.getsession().getattribute("user"); int result = filesharemanager.sharefile(signid, objtype, userlist, user.getuserid().getvalue()); try{ request.setcharacterencoding("utf-8"); printwriter pw = response.getwriter(); pw.write("" + result); pw.flush(); pw.close(); }catch (exception e) { // todo: handle exception e.printstacktrace(); } }
service层
/** * 指定共享文件、文件夹 * * @param signid 文件夹id/文件id * @param objtype 操作对象类型(1:file、2:folder) * @param userlist 分享用户范围 * @return 0表示操作失败/1表示操作成功 * */ public int sharefile(string signid, string objtype, string userlist, string sharer) { // 删除共享记录 filesharedao.deletefileshare(signid, objtype); // 新建共享记录 string users[] = userlist.split(","); // 保存每一个共享用户 for (int i = 0; i < users.length && !users[0].equals(""); i++) { wpfileshare wpfileshare = new wpfileshare(); wpfileshare.setsharer(sharer); wpfileshare.setshareuser(users[i]); wpfileshare.setsharetime(new date()); filesharedao.savefileshare(wpfileshare); } }