根据spring mvc中的selceted下拉列表从数据库中获取数据

时间:2016-02-04 10:00:21

标签: spring mongodb spring-mvc

我在mongodb中创建了两个集合。

  1. 包含studentid字段的学生集合
  2. 包含字段studentidstudentmarks
  3. 的studentrecord集合

    我在studentid

    中有<select>
    <select class="form-control">
        <option value="NONE"> --SELECT--</option>
        <c:forEach items="${StudentList}" var="item">
            <option value="${item.StudentID}">${item.StudentID}</option>
        </c:forEach>
    </select>
    
    Mark: <input type="text" name="mark" value="Mark to go here"><br>
    

    如何通过在下拉列表中进行选择,将学生的标记动态加载到文本框中?

1 个答案:

答案 0 :(得分:0)

您需要使用JQuery动态获取所需的数据。

以下是正确方向的几点建议:

HTML:

<select class="form-control" id="studentId">
....
</select>
<p id="fieldToFill"></p>

JQuery的:

$(function(){
    $('#studentId').change(function(){
        var id = $('#drop option:selected).val();
        $.ajax({
            type: 'POST',
            url: '/your/desired/url',
            data: {
                [[${_csrf.parameterName}]]: [[${_csrf.token}]], // if csrf is enabled
                studentId: id
            },
            success: function(data){
                console.log(data); // display for developer console in browser
                $('#fieldToFill').text(data.grade); // Example 
            },
            error: function(jqXHR, exception){
                alert(jqXHR.status +" " + exception)
            }
        });
    });
});

控制器:

@RequestMapping(value = "/your/desired/url", method = RequestMethod.POST)
public @ResponseBody StudentRecord getRecordById(@RequestParam("studentId") Integer studentId) {

    // Your query method to acquire student records by id
    ...
    return studentRecord;
}