jqueryは選択されたusers_jqueryの表示を実装します
ユーザーの選択は一般的に使用される機能であり、主に 2 つの機能ポイント (選択したオプションの保存、選択したユーザーの表示) が含まれます
機能リクエスト:
1 ポップアップボックスとして表示するユーザーインターフェースを選択します
2 ページオプション (部門とユーザー) の動的読み込み
3 選択したユーザーにはチェックマークが表示されます
実装分析:
まず、ウィンドウはポップアップボックスであるため、ページの内容は主に非同期で取得されます。コンテンツは 2 つの部分 (選択される 1 と選択される 2) に分かれているため、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>
バックエンドコード
コントローラー
/** * 显示指定文件、文件夹的共享范围(共享用户) * @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(); } }
サービス
/** * 把共享范围转换成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(); }
サービスによって生成される 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>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











jQuery 参照方法の詳細説明: クイック スタート ガイド jQuery は、Web サイト開発で広く使用されている人気のある JavaScript ライブラリであり、JavaScript プログラミングを簡素化し、開発者に豊富な機能を提供します。この記事では、jQuery の参照方法を詳しく紹介し、読者がすぐに使い始めるのに役立つ具体的なコード例を示します。 jQuery の導入 まず、HTML ファイルに jQuery ライブラリを導入する必要があります。 CDN リンクを通じて導入することも、ダウンロードすることもできます

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? jQuery で PUT リクエストを送信する方法は、他のタイプのリクエストを送信する方法と似ていますが、いくつかの詳細とパラメータ設定に注意する必要があります。 PUT リクエストは通常、データベース内のデータの更新やサーバー上のファイルの更新など、リソースを更新するために使用されます。以下は、jQuery の PUT リクエスト メソッドを使用した具体的なコード例です。まず、jQuery ライブラリ ファイルが含まれていることを確認してから、$.ajax({u

jQueryで要素の高さ属性を削除するにはどうすればよいですか?フロントエンド開発では、要素の高さ属性を操作する必要が生じることがよくあります。要素の高さを動的に変更する必要がある場合や、要素の高さ属性を削除する必要がある場合があります。この記事では、jQuery を使用して要素の高さ属性を削除する方法と、具体的なコード例を紹介します。 jQuery を使用して高さ属性を操作する前に、まず CSS の高さ属性を理解する必要があります。 height 属性は要素の高さを設定するために使用されます

タイトル: jQuery ヒント: ページ上のすべての a タグのテキストをすばやく変更する Web 開発では、ページ上の要素を変更したり操作したりする必要がよくあります。 jQuery を使用する場合、ページ内のすべての a タグのテキスト コンテンツを一度に変更する必要がある場合があります。これにより、時間と労力を節約できます。以下では、jQuery を使用してページ上のすべての a タグのテキストをすばやく変更する方法と、具体的なコード例を紹介します。まず、jQuery ライブラリ ファイルを導入し、次のコードがページに導入されていることを確認する必要があります: <

タイトル: jQuery を使用して、すべての a タグのテキスト コンテンツを変更します。 jQuery は、DOM 操作を処理するために広く使用されている人気のある JavaScript ライブラリです。 Web 開発では、ページ上のリンク タグ (タグ) のテキスト コンテンツを変更する必要が生じることがよくあります。この記事では、この目標を達成するために jQuery を使用する方法を説明し、具体的なコード例を示します。まず、jQuery ライブラリをページに導入する必要があります。 HTML ファイルに次のコードを追加します。

jQuery は、フロントエンド開発で広く使用されている高速、小型、機能豊富な JavaScript ライブラリです。 2006 年のリリース以来、jQuery は多くの開発者にとって最適なツールの 1 つとなっていますが、実際のアプリケーションでは、いくつかの利点と欠点もあります。この記事では、jQuery の長所と短所を詳しく分析し、具体的なコード例で説明します。利点: 1. 簡潔な構文 jQuery の構文設計は簡潔かつ明確であるため、コードの読みやすさと記述効率が大幅に向上します。例えば、

jQuery は、Web ページでの DOM 操作やイベント処理を処理するために広く使用されている人気のある JavaScript ライブラリです。 jQueryではeq()メソッドを利用して指定したインデックス位置の要素を選択しますが、具体的な使い方と応用シーンは以下の通りです。 jQuery では、 eq() メソッドは、指定されたインデックス位置にある要素を選択します。インデックス位置は 0 からカウントされます。つまり、最初の要素のインデックスは 0、2 番目の要素のインデックスは 1 などとなります。 eq() メソッドの構文は次のとおりです。 $("s

jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか? jQuery を使用して DOM 要素を操作する場合、要素に特定の属性があるかどうかを判断する必要がある状況がよく発生します。この場合、jQuery が提供するメソッドを使用してこの関数を簡単に実装できます。以下では、jQuery 要素が特定の属性を持つかどうかを判断するために一般的に使用される 2 つの方法を紹介し、具体的なコード例を添付します。方法 1: attr() メソッドと typeof 演算子 // を使用して、要素に特定の属性があるかどうかを判断します
