YII select2 не отображает элемент из выпадающего списка
Я использую расширение select2 от kartik-v. Я смог сделать кафедру зависимой от факультета, но у меня возникла проблема с зависимостью курсов от кафедры. Это отображается в списке курсов в таблице курсов в базе данных.
Вот мой код файла просмотра:
<?php
$data = ArrayHelper::map(Faculty::find()->all(), 'id', 'facultyname');
echo $form->field($model, 'faculty_id')->widget(Select2::classname(), [
'data' => $data,
'language' => 'en',
'options' => ['prompt'=>'select faculty',
'placeholder' => 'Select Faculty.....',
'onChange' => '$.post("'.Url::to(['/department/lists']).'?id=' . '"+$(this).val(), function(data){
$("select#student-department_id").html(data);
});'
],
'pluginOptions' => [
'allowClear' => true
],
]);
?>
<?php
echo $form->field($model, 'department_id')->widget(Select2::classname(), [
'language' => 'en',
'options' => ['prompt'=>'....Select Department....',
'placeholder' => 'Select Department...',
'onChange' => '$.post("'.Url::to(['course/lists']).'?id=' . '"+$(this).val(), function(data){
$("select#student-course_id").html(data);
});'
],
'pluginOptions' => [
'allowClear' => true
],
]);
?>
<?php
$courseList = ArrayHelper::map(Course::find()->orderby('coursename')->asArray()->all(), 'id',
'coursename');
echo $form->field($model, 'course_id')->widget(Select2::classname(), [
'data' => $courseList,
'language' => 'en',
'size' => Select2::MEDIUM,
'options' => ['prompt'=>'....Select Courses....','placeholder' => 'Select Courses...','multiple' => true,'selected' => 'selected'],
'pluginOptions' => ['allowClear' => true],
]);
?>
Код контроллера моего курса;
public function actionLists($id)
{
$countCourses = Course::find()
->where(['department_id' => $id])
->count();
$Courses = Courses::find()
->where(['department_id' => $id])
->all();
if($countCourses>0){
foreach($Courses as $Course){
echo "<option value='".$Course->id."'>".$Course->coursename."</option>";
}
}
else{
echo "<option>-</option>";
}
}