2010-06-24 62 views
0

我有一個多選表單控件(圖1)。當我選擇多個值時,Firefox會發送兩個值(圖2)。但是隻有最後一個值作爲輸入值發送到我的控制器(圖3)。如何將所有這些值傳遞給我的控制器?捕獲Rails 3多選輸入參數

<form action="html_items/search" method="post" > 

    <!-- Criteria --> 
    <div style="float:none;"> 
     <label>Content Provider </label> 
     <select multiple id="content_provider" name="content_provider"> 
     <option value="FLR">Flare</option> 
     <option value="SLDT">Slashdot</option> 
     </select> 
    </div> 

    <input type="submit" value="Search" /> 

    </form> 

fig。 1

Parametersapplication/X WWW的窗體-urlencoded
content_provider FLR
content_provider SLDT
圖2個

PARAMS [{ 「content_provider」=> 「SLDT」, 「控制器」=> 「html_items」, 「動作」=> 「搜索」}]
...
圖3個

謝謝

回答

1

的第一件事是,如果你想創建一個選擇你需要命名<select><select name='foo[]'>

接下來的元素的數組..如果沒有選擇任何東西,就會顯示出來。這是有道理的,但它阻撓了我一點。我正在做一個左邊的選擇是搜索結果的Ajax,右邊是完整的列表。

我剛剛在我的提交按鈕中添加了一個.click(function(){});來設置左邊的每個項目以使用jQuery進行選擇,並且這些項目以參數形式顯示爲數組。在下面的例子中,你應該看到第一個項目出現。

<select multiple id="content_provider" name="content_provider"> 
     <option value="FLR" selected>Flare</option> 
     <option value="SLDT">Slashdot</option> 
</select>