0

私は最近Yiiboosterを学んで、これに固執しました.. ajaxでyiiブースターを使用する依存ドロップダウンリストグループがあるため、matkulが選択された後にkelasデータが生成されます。yii のドロップダウン リストを使用すると問題なく動作しますが、Yiibooster フォームを使用して素敵なフォームが必要です。

<?php
echo $form->dropDownListGroup(
    $model,
    'matkul',
    array(
        'wrapperHtmlOptions' => array(
            'class' => 'col-sm-5',
        ),
        'widgetOptions' => array(
            'data' => $matkullist,
            'htmlOptions' => array('multiple' => false),
        ),
        'prompt'=>'Select',
        array(
        'ajax'=> array(
            'type'=>'POST', //request type
            'url'=>CController::createUrl('Kp/Getkelas'), //url to call.
            'update'=>'#'.CHtml::activeId($model,'kelas'),  //selector to update
        )
        )
    )
); ?>


<?php echo $form->dropDownListGroup(
    $model,
    'kelas',
    array(
        'wrapperHtmlOptions' => array(
            'class' => 'col-sm-5',
        ),
        'widgetOptions' => array(
            'htmlOptions' => array('multiple' => false),
        )
    )
);?>

問題は、ドロップダウンリストグループを使用すると ajax が機能しないことです。以下のコードのような通常のドロップダウンリストでテストすると、正常に動作します。英語で申し訳ありません。

echo CHtml::dropDownList('country_id','', array(1=>'USA',2=>'France',3=>'Japan'),
    array(
        'ajax' => array(
            'type'=>'POST', //request type
            'url'=>CController::createUrl('Kp/Getkelas'), //url to call.
            'update'=>'#city_id', //selector to update
        )));
echo CHtml::dropDownList('city_id','', array());
4

3 に答える 3

0

widgetOptions -> htmlOptions -> ajax に ajax オプションを配置する必要があります。

$form->dropDownListGroup($model, 'beer', array(
      'widgetOptions' => array(
        'data' => CHtml::listData(Beer::model()->findAll(), 'id', 'name'),
        'htmlOptions' => array(
          'ajax' => array(
            'type' => 'POST',
            'url' => Yii::app()->createUrl('/beer'),
            'update' => '#beer',

          )
        ),
      )
    );
于 2015-03-18T18:56:07.787 に答える