2010-10-18 62 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的黑客將它們全部發送單參數。在未來的問題中,試圖問問如何解決問題,而不是如何實現解決方案,畢竟這可能不是正確的解決方案。