1

我想做两个下拉

  1. 选择组
  2. 选择成员(多下拉)

当用户选择第一个下拉菜单(组)时,我想用所选组的成员动态填充成员 Multidropdowen。

选择成员是一个多下拉菜单,用户可以选择多个成员。

我能够完成依赖下拉或独立的 Multidropdown,但我无法整合这两者。我已经尝试过扩展http://www.yiiframework[dot]com/extension/emultiselecthttp://www.yiiframework[dot]com/extension/echmultiselect.

4

1 回答 1

0

您为第一个下拉列表实施 ajax 更新以更新第二个:

echo CHtml::dropDownList('country_id','', array(1=>'USA',2=>'France',3=>'Japan'),
array(
    'ajax' => array(
    'type'=>'POST', //request type
    'url'=>CController::createUrl('currentController/dynamiccities'), //url to call.
    //Style: CController::createUrl('currentController/methodToCall')
    'update'=>'#city_id', //selector to update
    //'data'=>'js:javascript statement' 
    //leave out the data key to pass all form values through
))); 
//empty since it will be filled by the other dropdown
echo CHtml::dropDownList('city_id','', array());

在您的控制器中,您可以拥有:

public function actionDynamiccities()
{
    $data=Location::model()->findAll('parent_id=:parent_id',
    array(':parent_id'=>(int) $_POST['country_id']));

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

来源: http ://www.yiiframework.com/wiki/24/

于 2013-01-08T09:27:34.237 回答