需要帮助来编写jQuery函数

时间:2011-08-21 18:48:12

标签: jquery ajax

我需要一些帮助来实现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事件都不会刷新页面。

1 个答案:

答案 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');
        }
    });
}