| 제목 | [예제] 폼헬퍼 > 동적 다중셀렉트 (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
좋은 코드 감사합니다.
|