2010-06-24 3 views
0

다중 선택 양식 컨트롤이 있습니다 (그림 1). 두 개 이상의 값을 선택하면 Firefox는 두 값을 모두 보냅니다 (그림 2). 그러나 마지막 값만 컨트롤러에 입력 값으로 전송됩니다 (그림 3). 컨트롤러에 전달 된 모든 값을 어떻게 얻습니까?레일 잡기 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> 

그림. 1

Parametersapplication/
content_provider FLR
content_provider의 SLDT
도 x-www-form-urlencoded로. 2

PARAMS [{ "content_provider"=> "SLDT", "제어기"=> "html_items", "액션"=> "검색"}]
...
도. 3 개

감사

답변

1

우선은 당신이 당신이 <select name='foo[]'>

다음처럼 <select> 뭔가 이름을 붙여야 선택 요소의 배열을 만들려면 .. 아무것도 선택하지 않으면 아무것도 표시되지 않습니다. 이것은 의미가 있지만, 그것은 조금 나를 곤란하게했다. 왼쪽 선택이 검색 결과이고 오른쪽이 완성 된 목록이었던 아약스를하고있었습니다.

제출 버튼에 .click(function(){});을 추가하여 왼쪽의 모든 항목을 jQuery로 선택한 항목을 매개 변수에 배열로 표시하도록 설정했습니다. 아래 예제에서 첫 번째 항목이 표시되어야합니다.

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