>php教程 >PHP开发 >업-다운 연결 드롭다운 박스 기능을 구현하는 Yii2 방법

업-다운 연결 드롭다운 박스 기능을 구현하는 Yii2 방법

高洛峰
高洛峰원래의
2016-12-23 16:50:091373검색

이 기사의 예에서는 Yii2가 상하 연결 드롭다운 상자 기능을 구현하는 방법을 설명합니다. 참고로 자세한 내용은 다음과 같습니다.

먼저 탑다운 연결 드롭다운 박스가 무엇인지 설명드리겠습니다.

보기에는 두 가지 선택 사항이 있습니다. 첫 번째는 회사 이름입니다. 여러 회사가 있고 각 회사에는 여러 지점이 있습니다. 현재 회사를 클릭하면 지점에 표시되는 지점이 현재 회사의 지점이라는 것입니다.

혹은 도를 선택하고 나면 다음과 같이 선택하면 현재 도의 군이 표시되는 것을 직접적으로 알 수 있습니다.

원리:

첫 번째 선택 클릭 후 ajax를 실행하여 현재 회사의 지점을 가져오고 jQuery를 사용하여 지점의 내용을 수정합니다.

부분 보기 코드 둘 중 선택 다음과 같이:

<?= $form->field($model, &#39;companies_company_id&#39;)->dropDownList(
  \yii\helpers\ArrayHelper::map(\backend\models\Companies::find()->all(),&#39;company_id&#39;,&#39;company_name&#39;),
  [
    &#39;prompt&#39;=>&#39;select Company&#39;,
    &#39;onchange&#39;=>&#39;
      $.post("index.php?r=branches/lists&id=&#39;.&#39;"+$(this).val(),function(data){
        $("select#departments-branches_branch_id").html(data);
      });&#39;,
  ]
) ?>
<?= $form->field($model, &#39;branches_branch_id&#39;)->dropDownList(
  \yii\helpers\ArrayHelper::map(\backend\models\Branches::find()->all(),&#39;branch_id&#39;,&#39;branch_name&#39;),
  [
    &#39;prompt&#39;=>&#39;Select Branches&#39;,
  ]
) ?>

목록 메소드 코드:

public function actionLists($id)
{
  $countBranches = Branches::find()
    ->where([&#39;companies_company_id&#39; => $id])
    ->count();
  $branches = Branches::find()
    ->where([&#39;companies_company_id&#39; => $id])
    ->all();
  if ($countBranches > 0) {
    foreach ($branches as $branche) {
      echo "<option value=&#39;" . $branche->branch_id . "&#39;>" . $branche->branch_name . "</option>";
    }
  } else {
    echo "<option>-</option>";
  }
}

위의 글이 Yii 프레임워크를 기반으로 하는 모든 분들의 PHP 프로그램 설계에 도움이 되기를 바랍니다.

Yii2가 상하 연결 드롭다운 박스 기능을 구현하는 방법에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.