2010-10-18 44 views
-1

我希望能够使用JQuery将所有从列表框中选择的值作为隐藏字段发送。 我能够在表单提交中发送/检索单个值。使用JQuery发送ListBox选择的值作为隐藏字段

如果任何人都可以分享一些代码片段,这将有所帮助。

在此先感谢!

+0

请问您可以提供一些示例代码this.use http://jsfiddle.net/示例代码显示 – svk 2010-10-18 07:17:21

回答

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(); 

这将创建一个包含所有选定的entrys文本的数组。

+0

我的意思是列表框,抱歉的错别字。 .val()调用不会给我所选选项的文本,因为列表框是一个依赖下拉列表,并且由JSON字符串组成。所以.val给我的整数索引而不是文本。我使用这里列出的选项#3 http://stackoverflow.com/questions/2263996/populating-child-dropdownlists-in-jsp-servlet为了填充孩子下拉。 – 2010-10-18 08:08:25

+0

@gpmattoo:我更新了我的帖子,可能有帮助。 – jAndy 2010-10-18 08:29:59

+0

10对10.我在这里还是新手,所以无法在有限的时间内发布格式化的代码。不知道评论中的Ctrl + K是否真的适用于代码格式化。 FYI ..这是我第一次尝试JQuery并喜欢它。 – 2010-10-19 05:25:26

1

绝对没有必要这样做。你显然使用request.getParameter()而不是request.getParameterValues(),并想知道为什么它只返回第一个值。

只需相应解决您的servlet代码:

String[] selectedItems = request.getParameterValues("dropdownname"); 

无需丑陋JS/jQuery的黑客将它们全部发送单参数。在未来的问题中,试图问问如何解决问题,而不是如何实现解决方案,毕竟这可能不是正确的解决方案。

相关问题