Yii Framework Forum: Problema Com Request Ajax - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problema Com Request Ajax Não recebo todo o conteúdo pretendido no request Rate Topic: -----

#1 User is offline   Jhouinho 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 5
  • Joined: 07-November 13

Posted 04 March 2014 - 09:52 AM

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>
0

#2 User is offline   Jhouinho 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 5
  • Joined: 07-November 13

Posted 04 March 2014 - 09:57 AM

View PostJhouinho, on 04 March 2014 - 09:52 AM, said:

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>



Tabelas:

Attached File(s)


0

#3 User is offline   Pedro Luz 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 20
  • Joined: 20-November 10
  • Location:Lisboa, Portugal

Posted 04 March 2014 - 10:07 AM

oi,

nao sei se percebi bem o que queres.

mas acho que no teu loop foreach
foreach ($listaDisc as $var => $DISCIPLINANOME) {
echo CHtml::tag('option', array('value' => $var), CHtml::encode($DISCIPLINANOME), true);
}


ao fazer um echo dessa maneira.. só te mostra o ultimo

axo ke deves fazer algo mais do tipo

$data = array();
foreach ($listaDisc as $var => $DISCIPLINANOME) {
 $data[] = CHtml::tag('option', array('value' => $var), CHtml::encode($DISCIPLINANOME), true);
}

echo $data;

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users