2014-10-10 2 views
0

Я новичок в Yii, и хотят создать зависимые раскрывающиеся списки, им с помощью CActive формы ... могут заполнить первый выпадающий список, но второй не autopopulatedсоздавать зависимые выпадающие списки в YII

что им хочет сделать, когда пользователь выбирает состояние, в DropDownList IST списка 2 ниспадающего должны получить авто населенных с районами только это государство ..

MT Столы

state_details

stateid StateName

state_district

ID stateid statedistrict

вид обновляет

<div class="row"> 
    <?php echo $form->labelEx($model,'stateDetails'); ?> 
    <?php 
     echo $form->dropDownList($model,'statename',CHtml::listData(StateDetails::model()->findAll(), 'stateid', 'statename'), 
     array(
     'prompt'=>'Select State', 
     'ajax' => array(
     'type'=>'POST', 
     'url'=>CController::createUrl('loadStateDistrict'), //or $this->createUrl('loadstatedistrict') if '$this' extends CController 
     'update'=>'#statedistrict', //or 'success' => 'function(data){...handle the data in the way you want...}', 
     'data'=>array('stateid'=>'js:this.value'), 
     )) 
    ); 
    ?> 
</div> 

    <div class="row"> 
    <?php echo $form->labelEx($model,'state_district'); ?> 
    <?php 
     echo CHtml::dropDownList('statedistrict','', array(), array('prompt'=>'Select District')); 
    ?> 
</div> 

controller 
public function actionLoadStateDistrict() 
{ 

    $data=state_district::model()->findAll('stateid=:stateid', 
    array(':stateid'=>(int) $_POST['stateid'])); 

    $data=CHtml::listData($data,'id','statedistrict'); 

    foreach($data as $value=>$statedistrict) 
    echo CHtml::tag('option', array('value'=>$value),CHtml::encode($statedistrict),true); 
} 

ответ

0

Ваш success вызов элемент #statedistrict_stateid, но идентификатор вашего зависимого DropDown является statedistrict, так как вы используете CHtml непосредственно. Вы можете явно установить идентификатор, используя htmlOptions

+0

Спасибо за помощь, но проблема все еще существует –

+0

Каков результат вызова вашего 'actionLoadStateDistrict'? Вы можете использовать Firebug или инструменты разработчика, чтобы проверить наличие ошибок и то, что возвращается. – topher

+0

undefined stateid in controller ..... post ['stateid'] –

Смежные вопросы