2012-03-03 2 views
2

하나의 체크 박스에서 검색 쿼리 문자열 배열에 두 개의 값을 게시하고 싶습니다. 디자인 때문에 다른 확인란을 추가 할 수는 없습니다. 문제의 확인란과 같이 보입니다 :단일 체크 박스에서 배열에 2 개의 값 게시

<input name="wpp_search[property_type][]" value="rental_home" type="checkbox" id="choice_c"/> 
<label for="choice_c">For Rent</label> 

지금은 ... 문자열이 쿼리에

{url}?wpp_search[property_type][0]=rental_home 

하지만 내가 필요로하는 하나 개 체크에 두 개의 값을 묶어하는 것입니다 무엇을 얻을 그래서 나는 다음과 같이 끝냅니다 :

{url}?wpp_search[property_type][0]=rental_home&wpp_search[property_type][1]=building 

간단한 해결책이 있습니까? 이 이미 배열을 공급 하나의 다른 체크 박스는, 그래서 일반적으로는 두 개의 값으로 하나 개의 값을 보낼 수는 없습니다

{url}?wpp_search[property_type][0]=rental_home&wpp_search[property_type][2]=building 
+0

숨겨진 입력 필드, 어쩌면? 제출할 양식에 대한 다른 매개 변수가 있습니까? – Pankucins

+0

양식 입력을 처리하는 실제 PHP 코드에 액세스 할 수 있습니까? –

+0

@Pankucins 숨겨진 필드를 시도했지만 조건문을 보지 못했습니다. 나는 if (isset ($ _ POST [ 'choice_c']))를 사용하여 숨겨진 체크 상자를 표시했지만 게시하지 않았다. – Mick

답변

0

수 있도록이 일을 강제 할 수있다. 이것은 당신이 당신이 당 초 값을 삽입 할 것입니다 별도의 값뿐만 아니라 ;을 사용하실 수 있습니다

arg_separator.input = ";&" 

: 내가 상상할 수

한 가지 방법은 arg_separator.input의 INI-설정을 다시 구성이다 그 값은 : 당신이 한 경우

<input name="wpp_search[property_type][0]" 
     value="rental_home;wpp_search[property_type][1]=building" 
     ... 
/> 

자연스럽게 제대로 탈출해야하는 다른 형태의 값의 값 ;의 사용이 호환되도록합니다.

또 다른 방법은 해당 값으로 숨겨진 필드를 삽입하고 확인란을 선택하면 이름을 올바른 이름으로 변경하는 것입니다. 선택하지 않은 경우, 당신은 다시 작성하지 뭔가 그것의 이름을 변경 :

<input type="hidden" name="---wpp_search[property_type][1]" value="=building" /> 

은 당신의 선택의 자바 스크립트 참조를 타고의 시작 부분에 세 ---을 제거하기 위해 다른 체크 박스의 클릭에 필요한 DOM 조작을 이름.

+0

감사합니다! 두 번째 아이디어를 jQuery 스왑과 함께 사용했는데 훌륭하게 작동했습니다. 사실 나는 그 위치를 할당 할 필요가 없다는 것을 깨달았고 그냥 wpp_search [property_type] []를 남겨 두었다. – Mick

1

예를 들어 "|"로 값을 구분할 수 있습니다. 이 value="value1|value2"처럼 그런 다음 나중에 함수 explode : $p = explode("|", $value);을 사용하면 2 개의 값을 얻을 수 있습니다.

관련 문제