Comunque per fare quello che vuoi tu devi caricare un evento ajax sulla select in questo modo, non serve avere il bottone accanto… puoi farlo automaticamente:
Questo nella view:
<?php echo $form->dropDownList($model,'modulo',array(1,2,3,4,5,6),
array(
'ajax' => array(
'type'=>'POST', //request type
'url'=>CController::createUrl('tuoController/restituisciview'), //url da dove caricare la view a secondo del parametro.
'update'=>'#data', //div da aggiornare
'data' => array('modulo_id' => 'js:this.value'), //invio come modulo_id il valore selezionato
)); ?>
<div id="data"></div>
Questo nel tuo controller:
public function actionRestituisciview()
{
$modulo_id = $_POST['modulo_id'];
if($modulo_id!=''){
return $this->renderPartial('view/_modulo', array('id'=>$modulo_id), true,true)));
}
Yii::app()->end();
}
è solo un esempio, comunque il codice da utilizzare è simile a questo devi solo un pò rielaborare.
Se invece lo vuoi fare col bottone sposta l’evento ajax della dropdown sul bottone e cambia il valore che invi dentro data con quello recuperato dalla select.
puoi creare un bottone e poi aggiungere l’evento ajax come per la select, a quel punto non usi update ma i vari eventi ajax che ti servono tipo click e success,
oppure crei un bottone e poi registri la funzione js con yii con riferita all’id del bottone e la usi così com’è.