CodeIgniter 한국사용자포럼 BETA
빠르고, 유연한 PHP Framework!

CI 코드


[예제] 폼헬퍼 > 동적 다중셀렉트 (1단, 2단)      
ci세상 1 3,636 0 0 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);
?>

  목록  

미드필드 2010-02-23 04:45:11
  
좋은 코드 감사합니다.
번호 제   목 글쓴이 날짜 조회 추천수
580 CodeIgniter SimpleXML library [0] 타로 2012-02-05 29 0
577 CI 와 Smarty 템플릿의 결합 [2] 불의회상 2012-01-26 156 0
573 Okada Design Blog 소개 [3] 타로 2012-01-12 272 0
568 woctopus 계정관리도구 [2] milosz 2012-01-09 211 0
566 업로드된 이미지 정사각형으로 썸네일 만드는 함수 [3] 불의회상 2012-01-06 221 0
554 코드 이그나이터를 접하고 처음으로 만들어본 객체 입.. [6] 내일은 2011-11-11 1246 0
528 모델코드 생성기 [25] 불의회상 2011-10-13 1144 1
525 ci memo + tank_auth [2] milosz 2011-10-04 943 0
512 포럼소스를 2.0.1 버전에 맞게 수정하였습니다. [2] 탱크 2011-04-02 3546 2
509 CI 메뉴얼 CHM 버전(영문 2.0) [1] 브라이언 2011-03-30 1242 0
508 CI 메뉴얼 CHM 버전 [0] 브라이언 2011-03-30 1382 0
494 ci memo [8] pam 2011-02-20 1971 1
489 CI 압축 프로그램 [2] 준이 2010-12-27 1637 0
482 듬직이님의 헬퍼 ip 부분 추가. [0] 나이유미 2010-11-22 1998 0
475 SELECT() 사용 시 문제점 [2] 마냐 2010-09-16 2742 0
473 CI의 사용자 인증 소스파일 [2] corean 2010-09-12 3143 0
471 CI 1.7.2 한글 언어팩 1.1 [1] cleansugar 2010-08-26 2221 0
470 Upload 라이브러리 수정본 [0] sisco 2010-07-28 2399 0
464 iScaffold [4] 준이 2010-07-26 1981 0
458 이미지 등분하기_helper [0] 마냐 2010-06-18 2226 0