2012-01-25 72 views
6

我有兩個MultiSelect列表(AllProductList和SelectedProductList),AllProductList包含特定類別的所有產品,並使用JQuery將AllProductList中的選項添加到SelectedProductList。有沒有辦法在多選列表中發佈所有值而不僅僅是選定的值?

我顯然只希望發佈SelectedProductList中的值,而不管它們是否被選中或不是 。

我只在SelectedProductList周圍包裹了表單標籤,現在需要某種方式來發布 中的所有選項值,而不管是否被選中。

+4

提交前將其全部選中編程。 – Leonid

+0

是的,這聽起來更合理和無障礙 – LaserBeak

回答

2

你可以編寫一些JavaScript來填充一個隱藏的表單元素,它包含select中的所有值,如下所示,並且在服務器端使用explode(「,」,$ _ POST [「allValues」])來獲取所有選項

<script> 
var hiddenValues = ""; 
$(document).ready(function(){ 
    $("#mySelect option").each(function(){ 
     hiddenValues = $(this).val() + ","; 
    })//end each 

    $("#myForm").append("<input type='hidden' name='allValues' value='"+hiddenValues+"'>") 
}) 
</script> 

顯然,上述對jQuery的依賴,並在窗體中有myForm會的ID和你多選有mySelect :)的ID

編輯:
注1:這不僅節省了選項的值,而不是來自select的標籤(一種類似的方法可以用來保存這些選項以及)。只是記住這一點

NOTE2:當心,如果值包含任何逗號,因爲這(如果不使用一些其他的分隔符,如果在某種程度上未能逃脫,或)會取消你輸入

+0

我改變了#my選擇選項#mySelect選項,它爲我工作。謝謝:) – Parag

+0

你是對的,這應該是「選項」,我會將它添加到我的答案 – Bogdan

1

我不能發表評論,所以我想我必須把答案?

波格丹的答案需求+ =

hiddenValues += $(this).val() + ","; 

否則你只能得到1 ...

相關問題