通過ajax實現部門與員工的二級級聯,三級級聯相同的原理
首先看一下簡單的樣式:
在頁面載入完畢後,所有部門的名字也全部顯示在下拉框中,下拉框繫結onchange事件,通過ajax獲得部門對應的所有員工名。
在載入部門的時候,我用的是ssm框架中的ModelAndView物件綁定了一個引數,引數中有所有部門的資訊,在前臺通過jstl標籤處理引數。
html程式碼:
<form class="form-inline">
<div class="form-group col-xs-offset-1">
<label for="exampleInputName2" >部門:</label>
<select id="department" class="form-control" style="margin-right: 50px;" onchange="getemployee()">
<option>==請選擇==</option>
<c:forEach var="department" items="${DepartmentList}">
<option value="${department.departmentId}">${department.departmentName}</option>
</c:forEach>
</select>
<label for="exampleInputEmail2">員工名:</label>
<select id="employee" class="form-control" style="margin-right: 100px;" onchange="alertdate()">
<option>==請選擇==</option>
</select>
<button class="btn btn-primary">儲存</button>
</div>
後臺controller程式碼:
/**
* 按個人排班頁面
* @return
*/
@RequestMapping("groupbyself")
public ModelAndView GroupBySelf(){
List<Department> departmentlist=scheduleservice.getAllDepaertment();
ModelAndView mv=new ModelAndView();
mv.setViewName("groupbyself");
mv.addObject("DepartmentList", departmentlist);
return mv;
}
具體樣式如下,我資料庫中的部門只有一個。
js部分onchange事件程式碼:
function getemployee(){
var departmentId=$("#department").val();
var departmentName=$("#department option:checked").text();
$("#employee").html("<option>==請選擇==</option>"); //避免選擇同一個部門多次生成一個部門的員工,所以每次查詢員工前初始化
$.ajax({
url:"getEmployeeByDepartmentId",
type:"post",
async : false,
data:{"departmentId":departmentId},
success:function(msg){
if(msg!=null){
for(var i=0;i<msg.length;i++){
//alert(msg[i].employeeId);
$("#employee").append("<option value='"+msg[i].employeeId+"'>"+msg[i].employeeName+"</option>");
}
}
}
});
}
第二個下拉框內容的後臺程式碼:
/**
* 根據部門id,得到該部門所有的成員
* @param departmentId
* @return
*/
@ResponseBody
@RequestMapping(value="getEmployeeByDepartmentId",produces="application/json;charset=UTF-8")
public String GetEmployeeByDepartmentId(int departmentId){
JSONArray employees=scheduleservice.getEmployeeByDepartId(departmentId);
return employees.toString();
}
每觸發一次事件,就會獲取前一下拉框當前選中的部門的id。將部門的id傳入後臺得到該部門所有的員工,傳回json格式的字串,在回撥函式中通過for迴圈遍歷,生成新的option。
需要注意的地方就是每次觸發事件呼叫這個函式的時候,要將第二級下拉框的內容初始化為‘請選擇’。
相關推薦
通過ajax實現部門與員工的二級級聯,三級級聯相同的原理
首先看一下簡單的樣式: 在頁面載入完畢後,所有部門的名字也全部顯示在下拉框中,下拉框繫結onchange事件,通過ajax獲得部門對應的所有員工名。 在載入部門的時候,我用的是ssm框架中的ModelAndView物件綁定了一個引數,引數中有所有部門的資
完整的Spring-boot實現(部門與員工)
完整的spring-boot實現 工具:jdk1.7 -- eclipse -- Maven 目的:實現通過部門ID查詢部門及所有員工資訊 目錄結構: index.jsp <%@ page language="java" contentType="text/h
通過Samba實現Linux與Windows間的文件共享
一個 主機 是否 ios協議 har 資源共享 沒有 printer int Samba Samba,是用來讓Linux系列的操作系統與Windows操作系統的SMB/CIFS(Server Message Block/Common Internet File System
jquery的ajax實現PUT與DELETE請求
實現PUT $.ajax({ url: "http://localhost:10320/api/Person/4", type: "POST", data: JSON.stringify(whatever), headers: { "Content-
利用Ajax實現前端與.net後端實現資料互動
使用場景和需求:使用者在位址列輸入請求地址,先.net伺服器傳送頁面請求,該頁面包含Echart圖表,在頁面中向.net後端傳送資料請求,獲取資料後,將資料填充到Echart圖表中。其中包含帶參與不帶參的請求方式。 不帶引數的請求例子。假設使用者訪問的URI為/HomeEx/ResidentEndowmen
Vue+Java servlet 通過websocket實現伺服器與客戶端雙向通訊
1. vue程式碼 methods: { //在方法裡呼叫 this.websocketsend()傳送資料給伺服器 onConfirm () { //需要傳輸的資料 let data = { cod
通過IDOC實現EDI與SAP整合(四) - 接收來自SAP系統的IDOC
目錄 通過IDOC實現EDI與SAP整合(一) - 連線SAP系統 通過IDOC實現EDI與SAP整合(二) - 登入SAP系統 通過IDOC實現EDI與SAP整合(三) - 傳送IDOC到SAP系統 通過IDOC實現EDI與SAP整合(四) - 接收來自SAP系統的IDOC
通過IDOC實現EDI與SAP整合(三) - 傳送IDOC到SAP系統
目錄 通過IDOC實現EDI與SAP整合(一) - 連線SAP系統 通過IDOC實現EDI與SAP整合(二) - 登入SAP系統 通過IDOC實現EDI與SAP整合(三) - 傳送IDOC到SAP系統 通過IDOC實現EDI與SAP整合(四) - 接收來自SAP系統的IDOC
通過IDOC實現EDI與SAP整合(二) - 登入SAP系統
目錄 通過IDOC實現EDI與SAP整合(一) - 連線SAP系統 通過IDOC實現EDI與SAP整合(二) - 登入SAP系統 通過IDOC實現EDI與SAP整合(三) - 傳送IDOC到SAP系統 通過IDOC實現EDI與SAP整合(四) - 接收來自SAP系統的IDOC
通過IDOC實現EDI與SAP整合(一) - 連線SAP系統
目錄 通過IDOC實現EDI與SAP整合(一) - 連線SAP系統 通過IDOC實現EDI與SAP整合(二) - 登入SAP系統 通過IDOC實現EDI與SAP整合(三) - 傳送IDOC到SAP系統 通過IDOC實現EDI與SAP整合(四) - 接收來自SAP系統的IDOC
通過Ajax實現select動態載入option
JQuery通過ajax實現select動態載入option <script type="text/javascript"> //jquery採用ajax對select動態載入option
[2.2]Spark DataFrame操作(二)之通過反射實現RDD與DataFrame的轉換
參考 場景 檔案/home/pengyucheng/java/rdd2dfram.txt中有如下4條記錄: 1,hadoop,11 2,spark,7 3,flink,5 4,ivy,27 編碼實現:查詢並在控制檯打印出每行第三個欄位值大於7
Android開發 通過JNI實現JAVA與C/C++程式間的呼叫和回撥
在一些Android應用的開發中,需要通過JNI和 Android NDK工具實現JAVA和C/C++之間的相互呼叫。 Java Native Interface (JNI)標準是java平臺的一部分,它允許Java程式碼和其他語言寫的程式碼進行
基於MT7688模組的開發筆記10——通過TFTP實現Ubuntu與開發板之間的檔案傳輸
本篇文章是上一篇文章的繼續,在這篇文章裡我通過在Ubuntu上搭建TFTP伺服器,實現了在MT7688開發板上上傳和下載Ubuntu中的檔案,這為後面的程式開發提供了方便。 一、安裝TFTP伺服器:安裝tftp-hpa和tftpd-hpa軟體 1.1安裝第一個軟體 [ema
通過Ajax實現不顯示登入框的IIS-Windows整合身份驗證登入
<script type="text/javascript" language="javascript"> function Authen() { var location = "http://192.168.0.241/
通過nginx實現https以及https二級域名轉發
/**僅記錄自己的學習歷程,為以後的自己留一個參考**/ 最近在倒騰微信小程式,研究小程式怎麼和伺服器通訊,上一篇部落格裡通過nginx實現了http的二級域名轉發,結果發現https實現二級域名轉發又是另一會事,心累啊 目的:https://abc.com訪問主域名,使用
通過ajax實現對某個div的整體重新整理替換(非同步載入)
首先吐槽下公司的框架,grid的寬度可能是根據螢幕長度自動適應,但是遇到了一個問題, 隱藏的grid.show()時,寬度變為最小寬度,未解決該問題,不使用toggle的方法,直接通過ajax非同步載入該DiV,同時該方法也解決了grid的表頭不確定的問題 整體非同步載入
使用游標查詢10部門的員工姓名和工資,並列印 使用游標查詢員工姓名和工資,並列印
/*使用游標查詢10部門的員工姓名和工資,並列印*/set serveroutput ondeclare --申明一個游標代表員工的姓名和工資 --cursor c1 is select ename,sal from emp; --定義一個帶引數的游標 cursor c
共享資料夾—— 一個實現Mac與PC互傳檔案,維護同一個資料夾簡單的方法
屋子裡一個桌上型電腦,一個Mac,經常需要傳檔案。之前要麼是用qq,要麼用網盤,要麼用U盤or行動硬碟。 雖然有點兒麻煩,但是一直懶得研究有什麼簡便方法。昨天覺得這麼整實在太low了,哪像一個搞計算機的,實在忍不了了,開始研究。 先是用Mac上的共享,然後資料夾共享,
MySQL中的行級鎖,表級鎖,頁級鎖
在電腦科學中,鎖是在執行多執行緒時用於強行限制資源訪問的同步機制,即用於在併發控制中保證對互斥要求的滿足。 在DBMS中,可以按照鎖的粒度把資料庫鎖分為行級鎖(INNODB引擎)、表級鎖(MYISAM引擎)和頁級鎖(BDB引擎 )。 行級鎖 行級鎖是Mysql中鎖定粒度最細的一種