Oi
Eu estou usando o ‘ext.jqrelcopy.JQRelcopy’ pra poder adicionar campos dinamicamente no meu form.
O problema eh que eu não consigo reproduzir um form que possui uma dropDownList, porque eu não sei oq colocar no lugar do $model.
codigo do form
<?php if (empty($datacomida)):
?>
<div class="linha copy">
.......................................................
<div class="linha">
<label class="required"> <?php echo CHtml::encode('Comida '); ?><span class="required">*</span> </label>
<?php
$listaComida = Comida::model()->findAll();
$list = CHtml::listData($listaComida, 'id', 'nome');
echo $form->dropDownList(<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />?<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />???, 'id_comida', $list);
?>
<?php echo $form->error(<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />?<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />???, 'id_comida'); ?>
</div>
<div class="linha">
<label class="required"> <?php echo CHtml::encode('Quantidade '); ?><span class="required">*</span> </label>
<?php echo CHtml::textField('PromocaoComida[quantidade][]'); ?>
</div>
</div>
.......................................................
<br> </br>
<a id="add_comida" href="#" rel=".copy">Outra Comida</a>
<?php else: ?>
<?php
$idx = 0;
$countcomida = count($datacomida);
foreach ($datacomida as $comida):
$copyClass = ($idx == $countcomida - 1) ? ' copy' : '';
?>
<div class="linha<?php echo $copyClass; ?>">
<div class="linha copy">
<div class="linha">
<label class="required"> <?php echo CHtml::encode('Comida '); ?><span class="required">*</span> </label>
<?php
$listaComida = Comida::model()->findAll();
$list = CHtml::listData($listaComida, 'id', 'nome');
echo $form->dropDownList(<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />?<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />???, 'id_comida', $list);
?>
<?php echo $form->error(<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />?<img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />???, 'id_comida'); ?>
</div>
<div class="linha">
<label class="required"> <?php echo CHtml::encode('Quantidade '); ?><span class="required">*</span> </label>
<?php echo CHtml::textField('PromocaoComida[quantidade][]', $comida->quantidade); ?>
</div>
</div>
<a class="nocopy" onclick="$(this).parent().remove(); return false;" href="#"><?php echo $removeText; ?></a>
</div>
<?php
$idx++;
endforeach;
?>
<?php endif; ?>
<?php
$removeText = 'Remover';
$this->Widget('ext.jqrelcopy.JQRelcopy', array(
'id' => 'add_bebida',
'removeText' => $removeText,
'options' => array('excludeSelector' => '.nocopy'),
));
?>
controller
public function actionCreate() {
$model = new Promocao;
if (isset($_POST['Promocao'], $_POST['PromocaoComida'], $_POST['PromocaoBebida'])) {
$model->attributes = $_POST['Promocao'];
if ($model->save()) {
if ($this->saveComidas($_POST['PromocaoComida'], $model->id)) {
$this->redirect(array('view', 'id' => $model->id));
}else{
//erro
}
}else{
//erro
}
$this->redirect(array('index'));
}
$this->render('create', array(
'model' => $model,
));
}
funcao saveComidas
public function saveComidas($formData, $id) {
if (empty($formData))
return;
$result = array();
$idx = 0;
foreach ($formData['quantidade'] as $quantidade) {
$model = new PromocaoComida;
$model->quantidade = $quantidade;
$model->id_promocao = $id;
$model->id_comida = $formData['id_comida'][$idx];
if (!$model->save())
return false;
$idx++;
}
return true;
}
valeu