Не могу понять как работает зависимый DropDownList. Все облазил. Делаю по аналогу на офиц. сайте и не работает. Там написано, надо создать две таблице, но почему то две таблицы с именем "category", в коде же используется модель таблицы "Post" и Category, неужели опечатка? Менял, все-равно не работает.
Помогите пожалуйста. Или хороший пример с таблицами желательно.
Помогите. Зависимый DropDownList
-
- Сообщения: 271
- Зарегистрирован: 2012.11.30, 07:33
Re: Помогите. Зависимый DropDownList
Что не работает конкретно?
Какие таблицы у вас? Какой код? Какая ошибка?
Таблиц должно быть две, верно, в данном примере Категория и Посты, сначала выбирается категория, далее аяксом подгружаются варианты для второго DropDownList, html генерируется в контроллере. Немного костыльно как по мне, но работать должно.
Вы можете использовать так же виджет упомянутый автором гайда http://demos.krajee.com/widget-details/depdrop может так вам будет проще.
Какие таблицы у вас? Какой код? Какая ошибка?
Таблиц должно быть две, верно, в данном примере Категория и Посты, сначала выбирается категория, далее аяксом подгружаются варианты для второго DropDownList, html генерируется в контроллере. Немного костыльно как по мне, но работать должно.
Вы можете использовать так же виджет упомянутый автором гайда http://demos.krajee.com/widget-details/depdrop может так вам будет проще.
-
- Сообщения: 271
- Зарегистрирован: 2012.11.30, 07:33
Re: Помогите. Зависимый DropDownList
Я делал такую штуку на обычных select2, но тоже от картика с подгрузкой через аякс, могу скинуть свой пример, но я тогда не знал о depdrop, все же проще использовать его.
Re: Помогите. Зависимый DropDownList
Таблицы сделал как в примере: POST (id-первичный ключ int, title - varchar, category_id - int, ) и CATEGORY (id-первичный ключ int, name -varchar), связь POST [category_id ] с CATEGORY [id].
Дальше во вьюшке POST в _form.php вставил код
Дальше в PostController добавил
Все сделал как в примере, что бы посмотреть работоспособность. Но не работает, на странице два выпадающих списка появляются. При выборе первого вот событие
И все, больше ни чего не происходит. может что не хватает, кого нибудь модуля.
Дальше во вьюшке POST в _form.php вставил код
Код: Выделить всё
$dataCategory=ArrayHelper::map(\common\models\Category::find()->asArray()->all(), 'id', 'name');
echo $form->field($model, 'category_id')->dropDownList($dataCategory,
['prompt'=>'-Choose a Category-',
'onchange'=>'
$.post( "'.Yii::$app->urlManager->createUrl('post/lists?id=').'"+$(this).val(), function( data ) {
$( "select#title" ).html( data );
});
']);
$dataPost=ArrayHelper::map(\common\models\Post::find()->asArray()->all(), 'id', 'title');
echo $form->field($model, 'title')
->dropDownList(
$dataPost,
['id'=>'title']
);
Код: Выделить всё
public function actionLists($id)
{
$countPosts = \common\models\Post::find()
->where(['category_id' => $id])
->count();
$posts = \common\models\Post::find()
->where(['category_id' => $id])
->orderBy('id DESC')
->all();
if($countPosts>0){
foreach($posts as $post){
echo "<option value='".$post->id."'>".$post->title."</option>";
}
}
else{
echo "<option>-</option>";
}
}
И все, больше ни чего не происходит. может что не хватает, кого нибудь модуля.
Последний раз редактировалось dvsyutkin 2015.04.21, 09:54, всего редактировалось 2 раза.
Re: Помогите. Зависимый DropDownList
Если можно, то скиньте, буду рад любой помощи.Vespertilio писал(а):Я делал такую штуку на обычных select2, но тоже от картика с подгрузкой через аякс, могу скинуть свой пример, но я тогда не знал о depdrop, все же проще использовать его.
Re: Помогите. Зависимый DropDownList
Виджет я тоже просматривал и пробовал, тоже не работает.
Re: Помогите. Зависимый DropDownList
Не ужели ни кто не поможет?
Re: Помогите. Зависимый DropDownList
Много букав. Пишите скайп в личку, помогу.