Как загрузить checkboxList с помощью ajax

У меня есть выпадающий список: city.

Теперь я пытаюсь загрузить список флажков при выборе вышеуказанного раскрывающегося списка с помощью ajax.

Например, если я нажму на город xyz, он должен заполнить список флажков, таких как Праздничный пакет 1, 2 и т. д.

Я пробовал аналогичный пример создание зависимого раскрывающегося списка, но он не работает для меня даже после повторения списокДанные.

Как мне этого добиться? Я новичок в среде Yii, и пример кода может помочь.


person Searock    schedule 26.12.2011    source источник


Ответы (2)


Ссылка, которую вы дали, показывает правильный способ сделать то, что вы хотите сделать. В чем была проблема? Почему это не работает для вас? Возможно, вы могли бы опубликовать свою реализацию, и мы могли бы выяснить, что пошло не так.

person Alfredo Castaneda Garcia    schedule 26.12.2011
comment
Проблема заключалась в том, что пустой раскрывающийся список отображается на странице html, но пустой список флажков вообще не отображается. Мне пришлось использовать пустой div, и проблема была решена. Спасибо за беспокойство. - person Searock; 27.12.2011

На ваш взгляд:

<?php echo $form->labelEx($model,'az_dropdown_id'); ?>
<?php echo $form->dropDownList($model, 'az_dropdown_id', CHtml::listData(Controller::model()->findAll(), 'id', 'name'), 
        array(
            'ajax' => array(
            'type'=>'POST', //request type
            'url'=>CController::createUrl('role/dynamicaction'), //url to call.
            'update'=>'#checkboxList_id', //selector to update
       ))); ?>
<div id "checkboxList_id'></div>

В вашем контроллере

$data=TheModel::model()->findAll('az_dropdown_id=:az_dropdown_id', 
                  array(':az_dropdown_id'=>(int) $_POST['CurrentController']['az_dropdown_id']));

$data=CHtml::listData($data,'id','name');
echo CHtml::checkboxList('idForCheckboxList','',$data);
person Sebastien    schedule 13.02.2012