jquery 擷取目前select onchange事件
@GetMapping("/add")
public String add(HttpServletRequest request, ModelMap mmap)
{
String longShortPathId = request.getParameter("longShortPathId");
String subjectId = request.getParameter("subjectId");
//目前路徑對應考季id
String seasonId = request.getParameter("seasonId");
mmap.put("seasonId",seasonId);
//擷取科目下考季清單
List<Map> seasons = baseService.getSeasonListBySubjectId(subjectId);
mmap.put("seasons",seasons);
//擷取目前路徑對應考季id下的課程清單
List<Map> courses = new ArrayList<>();
for (int i = 1; i < 10; i++) {
Map map = new HashMap(2);
map.put("courseId",i);
map.put("courseName","課程"+i);
courses.add(map);
}
mmap.put("courses",courses);
return prefix + "/add";
}
跳轉到add.html頁面
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增長短路徑拓展')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-longShortPathExtend-add">
<input type="hidden" id="courseIds" name="courseIds"/>
<input type="hidden" id="seasonIds" name="seasonIds"/>
<div class="form-group">
<label class="col-sm-3 control-label">選擇課程:</label>
<div class="col-sm-8" id="content">
<div class="child">
<div style="float: left;padding-left: 0px;" class="col-sm-6">
<select name="seasonId" class="form-control m-b " onchange="refreshCourses(this);">
<option th:each="season:${seasons}" th:selected="${season.seasonId} == ${seasonId}" th:value="${season.seasonId}"th:text="${season.seasonName}"></option>
</select>
</div>
<div style="float: left;padding-left: 0px;" class="col-sm-6" >
<select name="courseId" class="form-control m-b">
<option th:each="course:${courses}" th:value="${course.courseId}"th:text="${course.courseName}"></option>
</select>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-8">
<input onclick="addCourse();" type="button" class="btn btn-w-m btn-primary" value="添加課程">
</div>
</div>
<div id="courseCont" hidden>
<div class="child">
<div style="float: left;padding-left: 0px;" class="col-sm-6">
<select name="seasonId" class="form-control m-b" onchange="refreshCourses(this)">
<option th:each="season:${seasons}" th:selected="${season.seasonId} == ${seasonId}" th:value="${season.seasonId}"th:text="${season.seasonName}"></option>
</select>
</div>
<div style="float: left;padding-left: 0px;" class="col-sm-6">
<select name="courseId" class="form-control m-b">
<option th:each="course:${courses}" th:value="${course.courseId}"th:text="${course.courseName}"></option>
</select>
</div>
</div>
</div>
</form>
</div>
<div th:include="include::footer"></div>
<script type="text/javascript">
var prefix = ctx + "project/longShortPathExtend"
$("#form-longShortPathExtend-add").validate({
rules:{
xxxx:{
required:true,
},
},
focusCleanup: true
});
function submitHandler() {
debugger
var season = "";
var course = "";
$(".child select[name='seasonId'] option:selected").each(function(){
season += $(this).val() + ",";
});
$(".child select[name='courseId'] option:selected").each(function(){
course += $(this).val() + ",";
});
$("#seasonIds").val(season);
$("#courseIds").val(course);
if ($.validate.form()) {
//$.operate.save(prefix + "/add", $('#form-longShortPathExtend-add').serialize());
}
}
//追加表格
function addCourse() {
var html = $("#courseCont").html();
$("#content").append(html);
}
//考季變動時課程重新整理
function refreshCourses(element) {
var seasonId = $(element).val();
//console.log(element);
$.ajax({
type: "get",
url: prefix+"/getCourseList",
dataType: "html",
data:{
seasonId: seasonId
},
async: false,
success:function (html) {
if ($.trim(html) != "") {
$(element).parent().next().empty();
$(element).parent().next().append(html);
}
}
});
}
</script>
</body>
</html>

/**
*/
@GetMapping("/getCourseList")
public String getCourseList(HttpServletRequest request, ModelMap mmap)
{
String seasonId = request.getParameter("seasonId");
List<Map> courses = new ArrayList<>();
for (int i = 91; i < 100; i++) {
Map map = new HashMap(2);
map.put("courseId",i);
map.put("courseName","課程"+i+"_"+seasonId);
courses.add(map);
}
mmap.put("courses",courses);
return prefix + "/course";
}
對應頁面