제목 | [예제] 폼헬퍼 > 동적 다중셀렉트 (1단, 2단) | ||
---|---|---|---|
글쓴이 | ci세상 | 작성시각 | 2010/02/19 17:13:04 |
|
|||
1. 메뉴얼 : http://codeigniter-kr.org/user_guide/helpers/form_helper.html 2. 용도 : 폼헬퍼 > form_dropdown 기본 메뉴얼을 참조로 동적 다중 셀렉트 구현 3. 동적 : 다이나믹 이용 ##### 모델 (배열 정의) ######## <? function category($num) { // 1단 : 디폴트 $option = array( '' => '== 1단 선택 ==', '1' => '구분1', '2' => '구분2', '3' => '구분3' ); // 2단 : 디폴트 $option9 = array( '' => '== 2단 선택 ==' ); // 2단 : 구분1 $option1 = array( '' => '== 2단 선택 ==', '1' => '서브1', '2' => '서브2' ); // 2단 : 구분2 $option2 = array( '' => '== 2단 선택 ==', '1' => '서브1', '2' => '서브2' ); // 2단 : 구분3 $option3 = array( '' => '== 2단 선택 ==', '1' => '서브1', '2' => '서브2' ); if($num){ $result = ${'option'.$num}; return($result); } else { return($option); } } ?> ##### 컨트롤러 (동적 2단 처리) ######## <? function category_method() { $target = $this->common_model->seg_value('target'); $form = $this->common_model->seg_value('form'); $trigger = $this->common_model->seg_value('trigger'); $opt_var = $this->common_model->category($trigger); $opt_tot = count($opt_var); echo "document.forms['$form'].elements['$target'].length = $opt_tot; \n"; $i=0; foreach($opt_var as $key=>$value) : echo "document.forms['$form'].elements['$target'].options[$i].text = '$value'; \n"; echo "document.forms['$form'].elements['$target'].options[$i].value = '$key'; \n"; $i++; endforeach; } ?> ##### 뷰 (동적 1단, 2단 사용) ######## <script id="dynamic"></script> <SCRIPT LANGUAGE=JAVASCRIPT> function category(sel,target) { var trigger = sel.options[sel.selectedIndex].value; var form = sel.form.name; dynamic.src = "/board/category/form/" + form + "/trigger/" + trigger + "/target/" + target; } </SCRIPT> <? ## 1단생성 $cat1 = $this->common_model->seg_value('cat1'); $cat2 = $this->common_model->seg_value('cat2'); echo form_dropdown('cat1', $this->common_model->category(''), $cat1, "onchange=category(this,'cat2')"); ## 2단생성 if(!$cat1) $cat1 = 9; echo form_dropdown('cat2', $this->common_model->category($cat1), $cat2); ?> |
|||
다음글 | [예제] cieditor 웹에디터 (4) | ||
이전글 | [예제] 폼검증 > 컨트롤러 (쓰기,수정 동시처리... (1) | ||
미드필드
/
2010/02/23 04:45:11 /
추천
0
좋은 코드 감사합니다.
|