我希望能够使用JQuery将列表框中的所有选定值作为隐藏字段发送。 我能够在表单提交上发送/检索单个值。
如果有人可以分享一些代码段,那会有所帮助。
提前致谢!
答案 0 :(得分:3)
嗯,你真正要求的并不是那么清楚。 HTML中没有“多选下拉列表”。要进行多重选择,您需要指定
<select id="foobar" multiple>
将创建listbox
,您可以在其中选择多个元素。调用
var sel = $('#foobar').val();
将返回Array
个所选项目。
修改强>
要从每个选项中获取文字,请使用.map()
或jQuery.map()
。例如:
var sel = $('#foobar').children('option:selected').map(function(i,e){
return e.innerText;
}).get();
这将创建一个包含所有选定部分文本的数组。
答案 1 :(得分:1)
绝对没有必要这样做。您显然使用request.getParameter()
而不是request.getParameterValues()
,并想知道为什么它只返回第一个值。
只需相应地修复您的servlet代码:
String[] selectedItems = request.getParameterValues("dropdownname");
不需要丑陋的JS / jQuery黑客将它们全部作为单个参数发送。在未来的问题中,尝试询问如何解决问题,而不是如何实现解决方案,而这可能毕竟不是正确的解决方案。