Yii 2 상하 연동 드 롭 다운 기능 구현 방법

이 글 은 Yii 2 가 상하 연동 드 롭 다운 기능 을 실현 하 는 방법 을 실례 로 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
우선 상하 연동 의 드 롭 다운 상자 가 무엇 인지 설명 하 겠 습 니 다.
만약 하나의 view 안에 두 개의 select 가 있다 면 첫 번 째 는 회사 명 이 고 두 번 째 는 지사 명 입 니 다.회사 가 여러 개 있 고 회사 마다 여러 개의 지사 가 있 습 니 다.우리 가 실현 한 것 은 현재 회 사 를 클릭 한 후에 지사 에 표 시 된 일 은 현재 회사 의 지사 입 니 다.
또는 소속 성 을 선택 한 후에 아래 의 select 는 현재 성의 현 을 나타 낸다.
원리:
첫 번 째 select 를 클릭 한 후 ajax 를 실행 하여 현재 회사 의 지 사 를 가 져 오고 jQuery 를 사용 하여 지사 내용 을 수정 합 니 다.
두 select 의 부분 보기 코드 는 다음 과 같 습 니 다.

<?= $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',
  ]
) ?>

list 방법 코드:

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 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기