1

2つのドロップダウンを作成したい

  1. グループを選択
  2. メンバーの選択(マルチドロップダウン)

ユーザーが最初のドロップダウン(グループ)を選択したときに、メンバーMultidropdowenに選択したグループのメンバーを動的に入力したいと思います。

[メンバーの選択]はマルチドロップダウンであり、ユーザーは複数のメンバーを選択できます。

依存ドロップダウンまたは独立マルチドロップダウンを実行することはできますが、これら2つを統合することはできません。http://www.yiiframework[dot]com/extension/emultiselect私は拡張機能とを試しましたhttp://www.yiiframework[dot]com/extension/echmultiselect

4

1 に答える 1

0

最初のドロップダウンに ajax 更新を実装して、2 番目のドロップダウンを更新します。

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 に答える