CI 묻고 답하기

제목 form 리던터된 checkbox 의 set_value값을 배열러 받을 수는 없을까요?
카테고리 기타 솔루션
글쓴이 세르피르 작성시각 2017/01/02 15:15:28
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 13770   RSS

질문의 요지를 콕집어서 설명을 잘못하겠네요 ㅠ_ㅠ

회원가입을 하는 과정에 관심사를 선택하는 항목이 있습니다.

관심사는 대분류와 상세 두가지로 이루어져있습니다.

대분류를 선택하면 상세분류가 체크박스로 나타납니다.

여기서 체크박스를 선택후 가입을 진행하는 과정에서 입력사항이 빠졌을때 리턴되서 돌아왔을때 상세분류항목을 배열값으로 받고싶습니다.

 

대분류를 변경시 자바스크립트를 이용하여 상세분류도 변경이 됩니다.

이때도 체크를 해야하는 관계로 우선 선택항목을 배열로 받아 오고 싶습니다.

도움부탁드립니다.

 다음글 컨트롤에서 모델 호출할대 특정 함수에서 에러가 나요 (8)
 이전글 ci3 Native session 사용 (2)

댓글

kaido / 2017/01/02 15:19:57 / 추천 0

ajax로 세부 분류를 받아오세요.

대분류가 체크되었는지 매번 체크해서 상세분류 항목도 체크해 주시면 됩니다.

세르피르 / 2017/01/02 15:55:07 / 추천 0

답변 감사드립니다.

우선 리턴되서 돌아와도 대분류 셀렉트를 변경하게되면 다시 체크를 해야하기때문에 좀 난감해져서 아래처럼 처리하기는했는데

어떨지는 모르겠습니다.. 좀 무식한건지..ㅠㅠ

<?  //리터받은 세부분류를 배열로 만들어줌
  $sg_sub_category = "";
  if(set_value('sg_category')){
   foreach ($kv['group_cate_sub'][set_value('sg_category')] as $key => $value)
   {
    $cName = set_value('sg_sub_category[]');
    if($cName){ $sg_sub_category[]=$cName; }
   }
  }
 ?>

그다지 좋은 방법은 아닌것 같지만 대분류가 변경됬을때도 비교를 하려고..하다보니..

저렇케 만들어진 값을 다시.. json_encode 을이용해서 스크립트 배열로 만들었습니다.

var sg_sub_category = <?php echo json_encode($sg_sub_category)?>;

더좋은 방법이나 따로 받아오는 법이 있는지는 모르겠지만..

kaido / 2017/01/02 16:01:57 / 추천 0

제가 이해가 안되는 건지 한번 체크해 볼게요.

[cate1] [cate2]

이렇게 대분류 와 하위 분류가 있고

cate1이 변경이 되면 cate2가 데이터가 cate1의 맞게 하위 리스트로 변경.

 

가령 서울시를 고르면 [가양][동대문][서초] 등등으로 변경.

 

선택하고 form post 로 submit 을 넘겼는데 폼 검증에서 데이터 값이 안맞아서 다시 리턴 됨.

리턴 되었을때 cate1 과 cate2가 넘기기 전에 값을 유지 함.

다시 cate1을 선택하면 cate2가 변경됨.

 

이런 프로세스가 아니신가요?

세르피르 / 2017/01/02 16:50:46 / 추천 0

예.. 단 cate2가 체크박스로 이루어져있어서 여러개를 선택해서 넘길수있는 방식입니다.

sg_sub_category[] <-- cate2입니다..

cate2가 1개의 값을 이루고있다면 쉽게 셀렉트를 하겠는데 체크값으로 넘어갑니다.

kaido / 2017/01/02 17:30:01 / 추천 0

리턴을 되돌려 주실때 cate2 의 값들을 post 로 넘겨주는 방법도 있습니다.

꼭 자바스크립트로만 넘겨주지 않아도 되며, post가 아니라도 리턴 시켜주는 방법은 몇가지 있습니다.

조금만 고민 해 보시면 제가 코드를 짜드리지 않아도 해결책을 찾으실 거라 보입니다.

화이팅 입니다 ^^