Spring根据选择框中的值填充表单字段

时间:2016-09-13 17:40:56

标签: javascript spring jsp

我有选择框,我从所有员工的名单中选择员工姓名。我想要实现的是获得对象员工的其他属性。我使用javascript来实现它,但我总是从列表中获取第一个元素(索引0)。这是代码:

<sf:select path="employee" onchange="change()" >
     <sf:option value="">
        Choose employee
     </sf:option>
     <sf:options itemLabel="employeeName" items="${employeeList}"
            itemValue="employeeId" />
    </sf:select>

<input id="licenseNr"/>

和javascript:

 <script>
    function change(){
         var comboIndex = document.getElementById("employee").value;        
         document.getElementById("licenseNr").value=("${employeeList.get(comboIndex).licenseNr}"); 
        }
    </script>

1 个答案:

答案 0 :(得分:0)

我通过使用jquery

在url中添加参数解决了问题
$(function() {
        $("#employee")
                .change(
                        function(e) {
                            var option = $(this).val();                             
                            var newUrl = "someUrl?id="+option;
                            window.location=newUrl;                             
                        });
    });

在控制器中我添加了RequestParam注释

@RequestMapping(value = "/someUrl", method = RequestMethod.GET)
public String showForm(@RequestParam(required = false, defaultValue="-1")
 Integer id,Model model){
if(id>0){   
    Employee employee = service.fetchEmployeeById(id);      
                model.addAttribute("employee", employee);}
    return "someUrl";}

然后我在文本字段中添加了值

<input id="licenseNr" value="${employee.licenseNr}" />