如何在弹簧表单提交时将所选选项发送到弹簧控制器

时间:2015-06-08 07:44:39

标签: jquery spring jquery-ui spring-mvc

示例代码

<form name='add'>
Age: <select name='age'>
     <option value='1' stud_name='sre'>23</option>
     <option value='2' stud_name='sam'>24</option>
     <option value='5' stud_name='john'>25</option>
     </select>
<input type='submit' name='submit'/>
</form>

如果我从下拉列表中选择23 ,则在提交上述表单而不是 value = 1 时,我应该将23发送到age参数。

你能帮忙吗?

2 个答案:

答案 0 :(得分:0)

$(document).ready(function() {
  $('input[type=submit]').on('click', function() {
    alert('hi');
    var aa = $('#age option:selected').text();
    aa = $('#age option:selected').val(aa);
    console.log('value is' + aa);
  });
});

使用它。但我仍然对你想要做的事情感到困惑。

答案 1 :(得分:0)

将值属性更改为正确的值。如果您需要在选项标签中保留其他值,可以使用data-attribute:

<form name='add'>
Age: <select name='age'>
     <option value='23' data-custom-value="1" stud_name='sre'>23</option>
     <option value='24' data-custom-value="2" stud_name='sam'>24</option>
     <option value='25' data-custom-value="5" stud_name='john'>25</option>
     </select>
<input type='submit' name='submit'/>
</form>

在js中访问该属性:

//you need get optionElement first
optionElement.getAttribute('data-custom-value');

我认为你不能让我的解决方案使用spring安全标签(itemLabel等)。选定的值会出现问题。 但你可以尝试这样的事情:

<select name="age">
    <c:forEach var="item" items="${ages}">
        <option value="${age.value}" ${item.val== age.value ? 'selected="selected"' : ''}>${item.value}</option>
    </c:forEach>
</select>