我希望能够使用JQuery将所有从列表框中选择的值作为隐藏字段发送。 我能够在表单提交中发送/检索单个值。使用JQuery发送ListBox选择的值作为隐藏字段
如果任何人都可以分享一些代码片段,这将有所帮助。
在此先感谢!
我希望能够使用JQuery将所有从列表框中选择的值作为隐藏字段发送。 我能够在表单提交中发送/检索单个值。使用JQuery发送ListBox选择的值作为隐藏字段
如果任何人都可以分享一些代码片段,这将有所帮助。
在此先感谢!
嗯,这是不是很清楚你真的要求。 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();
这将创建一个包含所有选定的entrys文本的数组。
我的意思是列表框,抱歉的错别字。 .val()调用不会给我所选选项的文本,因为列表框是一个依赖下拉列表,并且由JSON字符串组成。所以.val给我的整数索引而不是文本。我使用这里列出的选项#3 http://stackoverflow.com/questions/2263996/populating-child-dropdownlists-in-jsp-servlet为了填充孩子下拉。 – 2010-10-18 08:08:25
@gpmattoo:我更新了我的帖子,可能有帮助。 – jAndy 2010-10-18 08:29:59
10对10.我在这里还是新手,所以无法在有限的时间内发布格式化的代码。不知道评论中的Ctrl + K是否真的适用于代码格式化。 FYI ..这是我第一次尝试JQuery并喜欢它。 – 2010-10-19 05:25:26
绝对没有必要这样做。你显然使用request.getParameter()
而不是request.getParameterValues()
,并想知道为什么它只返回第一个值。
只需相应解决您的servlet代码:
String[] selectedItems = request.getParameterValues("dropdownname");
无需丑陋JS/jQuery的黑客将它们全部发送单参数。在未来的问题中,试图问问如何解决问题,而不是如何实现解决方案,毕竟这可能不是正确的解决方案。
请问您可以提供一些示例代码this.use http://jsfiddle.net/示例代码显示 – svk 2010-10-18 07:17:21