ciao a tutti,in una form d0iserimento ho una dropdown menu dove carico i dati di un altra tabella: il il valore di selezione nella combo è nome_attività, selezionando tale valore vorrei inserire il suo id in un campo input,
<div class= "rowgroup">
<?php echo $form->label($model2,'nome2',array('id'=>'name','class'=>'blocklabel')); ?>
<div class="styled-select">
<?php echo $form->dropDownList($model2, 'nome',
CHtml::listData( Attivita::model()->findAllBySql('Select id,nome from attivita order by nome ASC '), 'id','nome'),
array('empty' => '(Seleziona Attivita)'),
array('htmlOptions'=>array('id'=>'nomeattivita','class'=>'styled-select'))
);?>
</div>
cosi ottengo la combo con i valori…,però non riesco a passarli all’input, stavo cercando di usare jquery che al cambiare il valore dovrebbe farmi un’altra query "select id from attivita where nome =“valore di selezione della combo”, e quindi valorizzare il campo input con il risultato della query…
si stavo facendo una prova, ovviamente sposto tutto nel controller!,grazie per la precisazione!,ho fatto cosi e funge
Yii::app()->clientScript->registerScript('assegnaid', "
//funzione ch cambia valore in base alla selezione
$('#Attivita_nome').change(function(){
var id = $('#Attivita_nome :selected').attr('value');
$('#attivitaid').val(id);
});
", CClientScript::POS_READY);
?>
avrei potuto usare findAll,anche perchè era una semplice query senza parametri giusto?,cero cosi come ho fatto ho rotto il principio mvc,…era una prova volante
mi sono un attimo intrippato …con il “rompimento” della mvc, io ho questa azione che fa una ricerca e va bene, poi vorrei passargli una variabile(un array dire…perchè è il risultato di una query)…alla dropdownmenu
public function ActionGruppo($group){
$model = new Attivita('search');
$model->unsetAttributes();
$model->gruppi = $group;
//$model->categorie = $category;
$dataProvider = $model->search();
/// query da passare al menu a tendina nella view
$dropdownnome = Attivita::model()->findAllBySql('select a.nome FROM attivita a JOIN gruppo g ON a.id = g.attivita_id WHERE g.nome_gruppo ='.'"'.$model->gruppi.'"');
$this->render('index', array('dataProvider' => $dataProvider,'model'=> $model,'dropdownnome'=>$dropdownnome));
}