2014-05-11 2 views
3

ajax 호출을 통해 원격 데이터를 가져 오기 위해 HTML 양식에서 Select2 jQuery 플러그인을 사용하고 있습니다. 이 기능은 정상적으로 작동합니다.Select2 ajax 호출에서 양식에서 선택된 데이터 받기

그러나 양식을 제출하면 Select2 요소에서 선택한 값을 POST 데이터 형식으로 사용할 수 없습니다.

라디오 버튼과 제출 버튼에 대한 데이터를 가져올 수 있지만 Select2로 바인딩 된 사용자 박스 요소는 가져올 수 없습니다.

PHP에서 처리하기 위해 양식에서 선택한 데이터를 가져 오려면 어떻게해야합니까?

<form name='adminForm' method="post"> 
     <input type="radio" name="type" value="all"> 1 <br/> 
     <input type="radio" name="type" value="from"> 2 <br/> 
     <input type="radio" name="type" value="to"> 3 <br/> 

     <div id="userbox"></div> 

     <input type="submit" value="Submit" name="searchMessages"> 

</form> 

다음은 내가 사용하는 jQuery 코드입니다.

$("#userbox").select2({ 
    minimumInputLength: 1, 
    formatResult: productFormatResult, // Not provided here 
    formatSelection: productFormatSelection, // Not provided here 
    ajax: { 
     url: "/url/path", 
     data: function (term, page) { 
      return { 
       q: term, 
      }; 
     }, 
     results: function (data, page) { 
      return {results: data}; 
     } 
    }, 
    escapeMarkup: function (m) { return m; } 
}); 

답변

5

요점은 폼이 제출됩니다 때마다

, 그것은 모든 입력 태그를 보냅니다 만 명에게

속성을 가지고있다. 입력 이름을 키로 사용하고 값을 값으로 사용하는 키 - 값 맵과 같습니다.

내가 어떤 항목을 선택하면, 입력 된 컨트롤 선택한 값을 저장하지 않으려면 거기에 내가 찾은

,

그래서 당신이 선택한 값을 저장하는 숨겨진 필드를 준비 할 수 있고 당신이

가에서 값을 얻을 것이다

+0

에 의해 <div id="userbox"></div>을 대체 백엔드 코드를 도왔다. 감사. – Purus

0

그냥 위의 코드에 이름 속성을 추가 <input id="userbox" name="user box"/>