Muy buenos días
por favor una vez mas necesito de su gran ayuda, mi problema es e siguiente,
tengo un dopdownlist en la que muestro información de unos entrenadores y si un entrenador no se encuentra entonces se agrega por medio de un cjuidialog y al finalizar el guardado en la lista me muestra al entrenador que se ha agregado, lo que sucede es que solamente me muestra el nombre y necesito igualmente los apellidos,
además la validación me funciona pero no cuando le doy al botón guardar ya que la ventana se cierra,
por favor ayúdenme y de antemano mil gracias…
controlador
/*agrega Entrenador*/
public function actionAddnew() {
$model=new Entrenador;
// Ajax Validation enabled
$this->performAjaxValidation($model);
// Flag to know if we will render the form or try to add
// new jon.
$flag=true;
if(isset($_POST['Entrenador']))
{ $flag=false;
$model->attributes=$_POST['Entrenador'];
if($model->save()) {
//Return an <option> and select it
echo CHtml::tag('option',array (
'value'=>$model->id_entrenador,
'selected'=>true
),CHtml::encode($model->nombre),true);
}
}
if($flag) {
Yii::app()->clientScript->scriptMap['jquery.js'] = false;
$this->renderPartial('createDialog',array('model'=>$model,),false,true);
}
}
vista
donde se encuentra el dropdownlist
<?php echo $form->labelEx($model,'entrenador')?>
<div id=Entrenador>
<?php $id = CHtml::listData(Entrenador::model()->findAll('Escuela ='.Yii::app()->user->id),'id_entrenador', 'id_entrenador');?>
<!--?php $id = CHtml::listData(Entrenador::model()->findAll("1=1 order by apellido_paterno"), 'id_entrenador', 'id_entrenador');?-->
<?php $titulo = CHtml::listData(Entrenador::model()->findAll("1=1 order by apellido_paterno"),'id_entrenador', 'titulo'); ?>
<?php $nombre = CHtml::listData(Entrenador::model()->findAll("1=1 order by apellido_paterno"),'id_entrenador', 'nombre');?>
<?php $apellido = CHtml::listData(Entrenador::model()->findAll("1=1 order by apellido_paterno"),'id_entrenador', 'apellido_paterno');?>
<?php $apellido2 = CHtml::listData(Entrenador::model()->findAll('1=1 order by apellido_paterno'),'id_entrenador', 'apellido_materno');?>
<!--?php $id = CHtml::listData(Entrenador::model()->findAll('id_usuario ='+ Yii::app()->user->id),'id_entrenador', 'id_entrenador');?-->
<!--?php $id = CHtml::listData(Entrenador::model()->findAll("1=1 order by apellido_paterno"), 'id_entrenador', 'id_entrenador');?-->
<!--?php $titulo = CHtml::listData(Entrenador::model()->findAll("1=1 order by apellido_paterno"),'id_entrenador', 'titulo'); ?-->
<!--?php $nombre = CHtml::listData(Entrenador::model()->findAll("1=1 order by apellido_paterno"),'id_entrenador', 'nombre');?-->
<!--?php $apellido = CHtml::listData(Entrenador::model()->findAll("1=1 order by apellido_paterno"),'id_entrenador', 'apellido_paterno');?-->
<!--?php $apellido2 = CHtml::listData(Entrenador::model()->findAll('1=1 order by apellido_paterno'),'id_entrenador', 'apellido_materno');?-->
<?php
if($id!=null){
$tam=sizeof($id);
for ($i = 1; $i <= $tam; $i++) {
$b[$i] = $i;
}
$c = array_combine($b, $id);
for ($i = 1; $i <= $tam; $i++) {
//$hola[$i]=$titulo[$c[$i]]." ".$nombre[$c[$i]]." ".$apellido[$c[$i]];
$hola[$i]=mb_strtoupper($apellido[$c[$i]]." ".$apellido2[$c[$i]]." ".$nombre[$c[$i]]);
}
$si=array_combine($c, $hola);
echo $form->DropDownList($model,'entrenador',$si, array('empty'=>'--Seleccione una opcion--'));
}
else{
$datos = CHtml::listData(Entrenador::model()->findAll('Escuela ='.Yii::app()->user->id),'id_municipio','nombre');
echo $form->DropDownList($model,'entrenador',$datos, array('empty'=>'--Seleccione una opcion--'));
}
?>
<!--?php
echo $form->dropDownList($model,'entrenador',CHtml::listData(Entrenador::model()->findAll('Escuela ='.Yii::app()->user->id),'id_entrenador','nombre','apellido_paterno'),array('prompt'=>'Seleccione un Entrenador'));?-->
<br>Si no aparece el entrenador que desea y quiere registrar uno nuevo, registre un nuevo entrenador en el siguiente link: <br>
<?php echo CHtml::ajaxLink(Yii::t('Entrenador','Registrar entrenador'),$this->createUrl('entrenador/addnew'),array(
'onclick'=>'$("#jobDialog").dialog("open"); return false;',
'update'=>'#jobDialog'
),array('id'=>'showJobDialog'));?>
<!--?php echo CHtml::ajaxLink(Yii::t('job','Create Job'),$this->createUrl('job/addnew'),array(
'onclick'=>'$("#jobDialog").dialog("open"); return false;',
'update'=>'#jobDialog'
),array('id'=>'showJobDialog'));?!-->
<div id="jobDialog"></div>
</div>
COdigo del cjuidialog
[code<?php
$this->beginWidget(‘zii.widgets.jui.CJuiDialog’,array(
'id'=>'jobDialog',
'options'=>array(
'title'=>Yii::t('Entrenador','Crear Entrenador'),
'autoOpen'=>true,
'modal'=>'true',
'width'=>'auto',
'height'=>'auto',
),
));
echo $this->renderPartial(’_formDialog’, array(‘model’=>$model)); ?>
<?php $this->endWidget(‘zii.widgets.jui.CJuiDialog’);?>
][/code]
y el cuerpo del cjuidialog cjuidialog
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'entrenador-form',
'enableAjaxValidation'=>true,
)); ?>
<p class="note">Campos con <span class="required">*</span> son obligatorios.</p>
<?php echo $form->errorSummary($model); ?>
<script type="text/javascript">
function cambiar(variable){
variable.value = variable.value.toUpperCase().trim();
}
</script>
<div class="row">
<?php echo $form->labelEx($model,'titulo'); ?>
<?php echo $form->dropDownList($model,'titulo',array('LIC.'=>'LICENCIADO','MTRO.'=>'MAESTRO','MTRA.'=>'MAESTRA'
,'DR.'=>'DOCTOR','DRA.'=>'DOCTORA','ING.'=>'INGENIERO','PROF.'=>'PROFESOR','PROFA.'=>'PROFESORA'
)); ?>
<?php echo $form->error($model,'titulo'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'nombre'); ?>
<?php echo $form->textField($model,'nombre',array('size'=>40,'maxlength'=>40,'onblur' =>'cambiar(this)')); ?>
<?php echo $form->error($model,'nombre'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'apellido_paterno'); ?>
<?php echo $form->textField($model,'apellido_paterno',array('size'=>40,'maxlength'=>40,'onblur' =>'cambiar(this)')); ?>
<?php echo $form->error($model,'apellido_paterno'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'apellido_materno'); ?>
<?php echo $form->textField($model,'apellido_materno',array('size'=>40,'maxlength'=>40,'onblur' =>'cambiar(this)')); ?>
<?php echo $form->error($model,'apellido_materno'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'correo'); ?>
<?php echo $form->textField($model,'correo',array('size'=>50,'maxlength'=>50)); ?>
<?php echo $form->error($model,'correo'); ?>
</div>
<div class="row buttons">
<!--?php echo CHtml::submitButton($model->isNewRecord ? 'Crear' : 'Save');
echo CHtml::button('Regresar', array('submit' => array('alumno/admin')));;
?-->
<?php echo CHtml::ajaxSubmitButton(Yii::t('Entrenador','crear Entrenador'),CHtml::normalizeUrl(array('entrenador/addnew','render'=>false)),array('success'=>'js: function(data) {
$("#Alumno_entrenador").append(data);
$("#jobDialog").dialog("close");
}'),array('id'=>'closeJobDialog')); ?>
</div>
<?php $this->endWidget(); ?>
<!--$("#Alumno_entrenador").append(data);-->
</div><!-- form -->