이 기사의 예에서는 Yii2가 상하 연결 드롭다운 상자 기능을 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
먼저 설명드리겠습니다 업-다운 연결 드롭다운 박스란 무엇인가요
뷰에 두 가지 선택 사항이 있다고 가정합니다. 첫 번째는 회사 이름이고 두 번째는 지점 이름입니다. 여러 회사가 있고 각 회사에는 여러 지점이 있습니다. 현재 회사를 클릭하면 지점에 표시되는 지점이 현재 회사의 지점이라는 것입니다.
혹은 자신이 속한 도를 선택하면 아래 선택 항목에 현재 해당 도의 군이 표시되는 것을 직접적으로 알 수 있습니다.
원칙:
첫 번째 선택을 클릭한 후 ajax를 실행하여 현재 회사의 지점을 가져오고 jQuery를 사용하여 지점 내용을 수정합니다
두 셀렉트의 부분 보기 코드는 다음과 같습니다.
<?= $form->field($model, 'companies_company_id')->dropDownList( \yii\helpers\ArrayHelper::map(\backend\models\Companies::find()->all(),'company_id','company_name'), [ 'prompt'=>'select Company', 'onchange'=>' $.post("index.php?r=branches/lists&id='.'"+$(this).val(),function(data){ $("select#departments-branches_branch_id").html(data); });', ] ) ?> <?= $form->field($model, 'branches_branch_id')->dropDownList( \yii\helpers\ArrayHelper::map(\backend\models\Branches::find()->all(),'branch_id','branch_name'), [ 'prompt'=>'Select Branches', ] ) ?>
목록 메소드 코드:
public function actionLists($id) { $countBranches = Branches::find() ->where(['companies_company_id' => $id]) ->count(); $branches = Branches::find() ->where(['companies_company_id' => $id]) ->all(); if ($countBranches > 0) { foreach ($branches as $branche) { echo "<option value='" . $branche->branch_id . "'>" . $branche->branch_name . "</option>"; } } else { echo "<option>-</option>"; } }
Yii와 관련된 더 많은 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제인 "Yii 프레임워크 소개 및 일반 기술 요약", "우수한 PHP 개발 프레임워크 요약", "시작하기 위한 기본 튜토리얼"을 확인할 수 있습니다. with Smarty Templates", "php 객체지향 프로그래밍" 디자인 입문 튜토리얼", "php 문자열(문자열) 사용법 요약", "php+mysql 데이터베이스 조작 입문 튜토리얼" 및 "php 공통 데이터베이스 조작 기술 요약"
이 기사가 Yii 프레임워크를 기반으로 하는 모든 사람의 PHP 프로그램 설계에 도움이 되기를 바랍니다.