我有选择框,我从所有员工的名单中选择员工姓名。我想要实现的是获得对象员工的其他属性。我使用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>
答案 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}" />