Динамическое построение и обновление DropDownList-ов

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
phpstarter
Сообщения: 241
Зарегистрирован: 2014.12.06, 00:06

Динамическое построение и обновление DropDownList-ов

Сообщение phpstarter »

У меня задача построить ДВА DropDownList-а динамически, причем в случае change значения первого автоматически обновлять второй лист.

Вручную строится просто

Код: Выделить всё

$form->field($model, 'A')->dropDownList(
            [''=>'Please Choose','1'=>'param1','2'=>'param2']);
Но тут я все вручную заранее занес. А как сделать это динамически да еще чтобы влияло на второй лист ?
Почитал мануал там вроде для одной статьи пример приведен. А как быть если у меня целая пачка вариантов может выскочить ?
elementfani
Сообщения: 24
Зарегистрирован: 2012.07.18, 15:10

Re: Динамическое построение и обновление DropDownList-ов

Сообщение elementfani »

Если я правильно понял, то это сделать можно средствами JavaScript, а не средствами Yii
spirit
Сообщения: 207
Зарегистрирован: 2013.10.14, 17:44

Re: Динамическое построение и обновление DropDownList-ов

Сообщение spirit »

Код на скорую руку писался, там уже под себя как надо сделаете, добавляете два Дропдауна на страничку первому country вешаете событие js примерно такой код, как будет кликнут оption селекта #country, post передаст в экшен id option'а ниже код экшена под js кодом

Код: Выделить всё

     $("#contry").click(function()
     {     
         $.post( "/site/contry", { id: $(this).val(),_csrf: yii.getCsrfToken() })
          .done(function( data ) {
                 $('select#cities').html(data);
          });
    });

Код: Выделить всё

  public function actionOsn()
    {
       $id=$_POST['id'];
       $post = Osn::findAll(['mremont_id'=>$id]);
       for($i=0;$i<count($post);$i++) 
       {
         $html= "<option value='".$post[$i]->id."' >".$post[$i]->remont."</option>";
       }
        
        echo $html;
    }
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Динамическое построение и обновление DropDownList-ов

Сообщение futbolim »

@spirit, ужаснейший код + неработающий. $(this) у Вас куда указывает?
@phpstarter, на форуме обсуждалось миллион раз.
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Динамическое построение и обновление DropDownList-ов

Сообщение futbolim »

viewtopic.php?f=3&t=7943&p=47560
Минута поисков. Как Вы ищете?
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: Динамическое построение и обновление DropDownList-ов

Сообщение vitalik1183 »

Дак собственно вот.
Yii2!
phpstarter
Сообщения: 241
Зарегистрирован: 2014.12.06, 00:06

Re: Динамическое построение и обновление DropDownList-ов

Сообщение phpstarter »

Всем спасибо, сделал через javaScript
pavlm
Сообщения: 84
Зарегистрирован: 2013.09.02, 16:33

Re: Динамическое построение и обновление DropDownList-ов

Сообщение pavlm »

эту задачу можно решить универсально, без всяких ненужных depdrop.
Форму надо обернуть в Pjax, и при изменении значений в инпутах делать сабмит через pjax.
В контроллере, если надо, можно различать обычный пост и pjax-пост через Yii::$app->request->isPjax
Ответить