【问题标题】:Spring populating form fields based on value from select box根据选择框中的值弹簧填充表单字段
【发布时间】:2016-09-13 17:40:56
【问题描述】:

我有选择框,我从所有员工列表中选择员工姓名。我想要实现的是获取对象员工的其他属性。我使用 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>

【问题讨论】:

    标签: javascript spring jsp


    【解决方案1】:

    我已经通过使用 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}" />  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-03
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      • 2021-08-20
      相关资源
      最近更新 更多