Boas Pessoal,
Estou com um problema numa função ajax. Faço um pedido (como vi num exemplo a funcionar), para ao escolher num dropDownList um item, seja carregado um conjunto de dados de uma tabela sql.
O problema é que só me é adicionada listbox a ultima linha da tabela sql.
Alguém me pode ajudar?
Função do controller:
public function actionSelecionarTurma() {
$id_AC = $_POST['AnoCurricular']['IDANOCURRICULAR'];
$listaDisc = Disciplina::model()->findAll('IDANOCURRICULAR = :id_AC', array(':id_AC' => $id_AC));
$listaDisc = CHtml::listdata($listaDisc, 'IDANOCURRICULAR', 'DISCIPLINANOME');
echo CHtml::tag('option', array('value' => ''), 'Disciplinas', true);
foreach ($listaDisc as $var => $DISCIPLINANOME) {
echo CHtml::tag('option', array('value' => $var), CHtml::encode($DISCIPLINANOME), true);
}
}
_form:
<?php echo $form->errorSummary(array($modelProfDiscTurma, $modelAlunoTurma, $modelDisciplina)); ?>
<div class="span11">
<p class="note">Campos Obrigatórios <span class="required">*</span>:</p>
<hr>
<h3> Dados Gerais </h3>
</div>
<?php
$anoCurricularArray = CHtml::listData(AnoCurricular::model()->findAll(), 'IDANOCURRICULAR', 'ANOCURRICULAR')
?>
<div class="span5">
<?php echo $form->labelEx($modelAC, 'IDANOCURRICULAR'); ?>
<?php
echo $form->dropDownList($modelAC, 'IDANOCURRICULAR', $anoCurricularArray, array(
'ajax' => array(
'type' => 'POST',
'url' => CController::createUrl('DefinirTurma/SelecionarTurma'),
'update' => '#' . CHtml::activeId($modelDisciplina, 'DISCIPLINANOME'),
), 'prompt' => 'Ano Curricular'
)
);
?>
<?php echo $form->error($modelAC, ‘IDANOCURRICULAR’); ?>
</div>
<div class="span6">
</div>
<div class="span11">
<?php echo $form->labelEx($modelDisciplina, 'DISCIPLINANOME'); ?>
<?php echo $form->dropDownList($modelDisciplina, 'DISCIPLINANOME', array()); ?>
<?php echo $form->error($modelDisciplina, 'DISCIPLINANOME'); ?>
</div>