我需要一些帮助来实现jQuery。
我有一个下拉列表,其中包含以下代码
<td width="20%">Programs<font color="red">*</font>:</td>
<td width="20%"><c:set var="programMap"
value="${userTraining.programMap}"></c:set> <form:select
path="programs" id="selectPrograms"
onchange="javascript:checkboxlist();">
<c:forEach var="item" items="${programMap}">
<form:option value="${item.key}">
<c:out value="${item.value}"></c:out>
</form:option>
</c:forEach>
</form:select></td>
在我的下拉列表的更改事件中(javascript函数“checkbox()”被调用),该函数获取课程列表并以复选框形式显示该列表“课程”选项卡。
function checkboxlist() {
document.userTrainingForm.action = "/UserRegistration/training/main/student/getCourses";
document.userTrainingForm.submit();
}
课程标签代码段
<c:set var="courseMap" value="${userTraining.courseMap}"></c:set>
<c:set var="selectedCourseMap" value="${userTraining.selectedCourseMap}"></c:set>
<c:forEach var="item" items="${courseMap}">
<c:set var="valuePresent" value="false"></c:set>
<c:forEach var="selectitem" items="${selectedCourseMap}">
<c:if test="${selectitem.key == item.key}">
<c:set var="valuePresent" value="true"></c:set>
</c:if>
</c:forEach>
<c:choose>
<c:when test="${valuePresent == 'true'}">
<form:checkbox id="chkCourse" path="courseName"
checked="checked" value="${item.key}"
style="font-weight: 700" />
<c:out value="${item.value}"></c:out>
</br>
</c:when>
<c:otherwise>
<form:checkbox id="chkCourse" path="courseName"
value="${item.key}" style="font-weight: 700" />
<c:out value="${item.value}"></c:out>
</br>
</c:otherwise>
</c:choose>
</c:forEach>
每次On Change事件都会刷新页面。有人可以帮我在jQuery (jQuery.ajax()) 中编写“function checkboxlist()”,这样每次onchange事件都不会刷新页面。
答案 0 :(得分:1)
function checkboxlist() {
document.userTrainingForm.action = "/UserRegistration/training/main/student/getCourses";
document.userTrainingForm.submit();
}
您是在更改时提交表单,如果您想使用jQuery提交表单,您应该使用以下内容:
function checkboxlist() {
$.ajax({
type: 'POST',
url: "/UserRegistration/training/main/student/getCourses",
data: $('#userTrainingForm').serialize(),
success: function(msg){
alert('form submitted');
}
});
}