下拉选择的第一个选项的默认值

时间:2015-06-13 14:20:04

标签: java jquery jsp spring-mvc servlets

疯狂难倒在这里。我的页面上有附加的下拉表单。在更改事件时,我提交此表单并在Spring Controller中捕获值。问题是捕获的值总是会出现1.我在这里缺少什么?

<form name="queuePositionForm" id="queuePositionForm" action="/updatePosition" method="post">
    <select name="selPosition" onChange="updatePosition()">
        <option value=""></option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
   </select>
</form>

updatePosition

function updatePosition(){
    $('form#queuePositionForm').submit();
}

控制器方法

@RequestMapping(value = "/updatePosition", method = RequestMethod.POST)
public String updateCarQueuePosition(@RequestParam(value = "selPosition", required = false) String position) throws IOException {
    //do something with position here.
    return "redirect:/confirmation";
}

1 个答案:

答案 0 :(得分:0)

由于您的JSP包含多个具有相同idname的表单,因此如果您更改它并通过为其分配计数器后缀为每个表单指定唯一ID,则会更好ID。同时为每个select元素分配id,如下所示。这里i将是生成这些形式的循环计数器。

<form name="queuePositionForm" id="queuePositionForm_${i}" action="/updatePosition" method="post">
    <select name="selPosition" id="selPosition_${i}" onChange="updatePosition(${i})">
        <option value=""></option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
   </select>
</form>

有了这个,您可以使用下面的updatePosition函数,它将提交正确的封闭表格。

function updatePosition(formIndex){
   $('form#queuePositionForm_'+formIndex).submit();
}