2012-10-23 3 views
0

다음과 같은 양식이 있습니다. 내가 지금까지했던 어떤여러 체크 박스 게시 데이터 필터링 문제

checkbpxes

다음과 같이 각 항목에 대한 확인란을 할당 할 수 있습니다.

<input type="checkbox" name="options[]" value="relevant_value" class="checks"> 

지금 내 문제는 상위 항목과 하위 항목을 파악할 수 없다는 것입니다. 이 문제를 어떻게 해결할 수 있습니까?

(감안할 때 나는 줌라를 사용합니다. 코드 아래 사용 확인란 받기)

$options = JRequest::getVar('options', NULL, 'post', 'array'); 

답변

2

내가 this-

For parent- 
<input type="checkbox" name="options[]" value="parent" class="checks"> 
For child- 
<input type="checkbox" name="options[parent][]" value="child" class="checks"> 

array.like 다차원 사용하는 것이 좋습니다 것이

관통 데이터를 얻을 수
$options = JRequest::getVar('options', NULL, 'post', 'array'); 

데이터 제공 방법보기

print_r($options); 

이제 부모가 다른 부모를 차별화하는 데있어 자녀를위한 키로 parent를 사용하십시오.

foreach($options as $option){ 
     $parent[] = $option; 
     if(is_array($options[$option]){ 
      foreach($options[$option] as $opt) 
      $childs[$option][]=$opt; 
     } 

    } 

명확하지 않은 경우 알려주십시오.

+0

가 어떻게 백엔드에서 가져 오지 수있는이 방법이 더 쉬울 것이다? 어떤 부모님과 자녀들이 검사를 받으십니까 – Techie

+1

@Dasun : 코드를 업데이트했습니다. 도움이 될 것입니다. – Irfan

1

이 같은 배열을 사용한다 :

<!-- parent --> 
<input type="checkbox" name="options[group_id]" value="relevant_value" class="checks"> 

<!-- associated child--> 
<input type="checkbox" name="options[group_id][values][]" value="relevant_value" class="checks"> 

가져 연관 값이

+0

어떻게 백엔드에서 다시 검색 할 수 있습니까? 어떤 부모와 자식을 검사 할 것인가? – Techie

+1

$ options = JRequest :: getVar ('options', NULL, 'post', 'array'); 그리고 이것을 foreach로 반복합니다 : foreach ($ options as $ option) { \t // $ option은 부모입니다. 그리고 당신의 가치를 반복 : \t foreach는 ($ 값으로 $ 옵션을 [ '값']) { \t \t // $ 값이 관련 값 \t한다} }) –