2017-11-21 1 views
0

안녕하세요 yii2에서 처음부터 드롭 다운을 시도한 것은 이번이 처음입니다. 위키에서 튜토리얼을 읽고 지침을 따랐습니다.500 (내부 서버 오류) Yii2 종속 드롭 다운

내 문제는 종속 드롭 다운이 작동하지 않는다는 것입니다. 하위 카테고리에서 아무 일도 일어나지 않으면 하위 카테고리는 모든 하위 카테고리 이름을 나열합니다. 내 SubCatController에서

:

public function actionLists($id) 
{ 
    $countSubCat = SubCat::find() 
       ->where(['category_id' => $id]) 
       ->count(); 

    $SubCat = SubCat::find() 
       ->where(['category_id' => $id]) 
       ->count(); 

    if ($countSubCat > 0) { 
     foreach($SubCat as $id) { 
      echo "<option value'".$id->id."'>".$id->sub_category."</option>"; 
     } 
    } 
    else { 
     echo "<option>-</option>"; 
    } 
} 

그리고 내 형태 :

<?= $form->field($model, 'category_id')->dropDownlist(
              ArrayHelper::map(Category::find()->all(), 'id', 'category_name'), 
              [ 
               'prompt' => 'Select Category', 
               'onchange' => ' 
                $.post("index.php?r=sub-cat/lists&id='.'"+$(this).val(), function(data) { 
                 $("select#models-contact").html(data); 
                });' 

              ] 
); ?> 

<?= $form->field($model, 'sub_cat_id')->dropDownlist(
              ArrayHelper::map(SubCat::find()->all(), 'id', 'sub_category'), 
              [ 
               'prompt' => 'Select Sub Category', 

              ] 
); ?> 

나는이 하나 붙어있어 정말 누군가가 나를 도울 수 더 이상 그것을 알아낼 수 없습니다. TIA

+0

오류는 무엇을 말하는가? 오류 로그를 확인하십시오 – karlingen

+0

예 오류 pls를 추가하십시오 :) – mrateb

+0

당신은 POST 메소드를 사용하여 get 메소드를 사용하는 동일한 유형의 데이터를 전송합니다. jquery post 또는 get method에 적절한 구문을 사용하면 문제가 해결됩니다. –

답변

0

나는 누군가의 도움으로 그것을 고쳤다.

$SubCat = SubCat::find() 
      ->where(['category_id' => $id]) 
      ->all(); 

if (!empty($SubCat)) { 
    foreach($SubCat as $subcat) { 
     echo "<option value'".$subcat->id."'>".subcat->sub_category."</option>"; 
    } 
} 
else { 
    echo "<option>-</option>"; 
} 

}