jquery實現(xiàn)顯示已選用戶
選擇用戶是一個比較常用的功能,主要包含2個功能點(保存已選選項、顯示已選用戶)
功能要求:
1 選擇用戶界面以彈出框方式顯示
2 頁面選項動態(tài)加載(部門及用戶)
3 已選用戶以勾選方式顯示
實現(xiàn)分析:
首先因為窗口是個彈出框,所以頁面的內(nèi)容主要是以異步方式獲取。因為內(nèi)容分為兩個部分(1待選項、2選中項)所以就有兩種處理方法.
方法1:后臺根據(jù)數(shù)據(jù)(1待選項、2選中項)生成完整的html代碼,通過一次異步操作返回
方法2:待選項、和選中項通過2次異步方法獲取,然后在頁面js事項選中效果。
因為不喜歡把很多邏輯寫在頁面上,所以比較喜歡第一種方案,也比較推薦。
頁面
1 彈出選擇共享文件的對話框
邏輯:1 異步調(diào)用 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="關(guān)閉" /><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表示無權(quán)限操作/1表示有權(quán)限操作
*
*/
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");
// 獲得當(dāng)前共享用戶
List<String> userIdList= fileShareManager.showShareRange(signid, objtype);
try {
// 把共享范圍轉(zhuǎn)換成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
/**
* 把共享范圍轉(zhuǎn)換成html格式
* @param userIdList 已經(jīng)共享的人員列表
* @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();
//循環(huán)每個的部門
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\">");
//循環(huán)每個的部門用戶
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參考(僅供參考,無需實現(xiàn))
<div class="fxtitle">院領(lǐng)導(dǎo)</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 qq用戶體驗桌面
- 增強用戶體驗友好性之jquery easyui window 窗口關(guān)閉時的提示
- 基于jquery ajax 用戶無刷新登錄方法詳解
- 使用Jquery打造最佳用戶體驗的登錄頁面的實現(xiàn)代碼
- 基于jQuery實現(xiàn)的Ajax 驗證用戶名是否存在的實現(xiàn)代碼
- JQuery運用ajax注冊用戶實例(后臺asp.net)
- jQuery+Ajax用戶登錄功能的實現(xiàn)
- asp.net jQuery Ajax用戶登錄功能的實現(xiàn)
- jquery ajax 檢測用戶注冊時用戶名是否存在
- jquery實現(xiàn)保存已選用戶
相關(guān)文章
jQuery實現(xiàn)邊框動態(tài)效果的實例代碼
這篇文章給大家分享了一個jQuery邊框動態(tài)的效果,當(dāng)鼠標(biāo)移動到邊框區(qū)域的時候,邊框會有個動態(tài)的加載動畫效果,實現(xiàn)的效果真的非常不錯,下面來一起看看吧。2016-09-09
Yii-自定義刪除確認(rèn)彈框(zyd)jquery實現(xiàn)代碼
Yii-自定義刪除確認(rèn)彈框(zyd),簡單/時尚/大方適合比較愛酷的人使用,時尚的你可不要錯過了哈,希望本文知識點可以幫助到你2013-03-03
jquery使用on綁定a標(biāo)簽無效 只能用live解決
下面小編就為大家?guī)硪黄猨query使用on綁定a標(biāo)簽無效 只能用live解決。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
jQuery Easyui datagrid editor為combobox時指定數(shù)據(jù)源實例
當(dāng)在datagrid行內(nèi)部應(yīng)用添加編輯操作時,引入combobox是非常方便的操作,這篇文章主要介紹了jQuery Easyui datagrid editor為combobox時指定數(shù)據(jù)源實例,有興趣的可以了解一下。2016-12-12
jQuery將所有被選中的checkbox某個屬性值連接成字符串的方法
這篇文章主要介紹了jQuery將所有被選中的checkbox某個屬性值連接成字符串的方法,可實現(xiàn)將選中屬性值連接成字符串的功能,具有一定參考借鑒價值,需要的朋友可以參考下2015-01-01
淺析jQuery移動開發(fā)中內(nèi)聯(lián)按鈕和分組按鈕的編寫
這篇文章主要介紹了jQuery移動開發(fā)中內(nèi)聯(lián)按鈕和分組按鈕的編寫方法,基于jQuery mobile這個jQuery針對移動開發(fā)版的庫,需要的朋友可以參考下2015-12-12

