Buenas tengo un problema que me ha llevado algo de tiempo y no he conseguido la solución, se ve que es fácil pero aun no doy con ella, tengo un campo llamado clvedad, en el cual calculo la edad de la persona y me la muestra, ahora tengo un fieldset abajo con campos del responsable de la persona si tiene menos de 18 años, osea (Si eres menor de 18 años deberia mostrarse los campos y tienes que llenar los datos del responsable que serian alrededor de 6 campos) y si eres mayor se quedan ocultos todos los campos del fieldset
Adjunto el codigo de mi vista
<?php
/* @var $this PersonaController */
/* @var $model Persona */
/* @var $form CActiveForm */
?>
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'persona-form',
// Please note: When you enable ajax validation, make sure the corresponding
// controller action is handling ajax validation correctly.
// There is a call to performAjaxValidation() commented in generated controller code.
// See class documentation of CActiveForm for details on this.
'enableAjaxValidation'=>false,
'htmlOptions' => array('enctype' => 'multipart/form-data'),//NO TE OLVIDES DE ASIGNAR ESTO
));
$deshabilitar=array('disabled'=>'disabled');
?>
<p class="note">Campos con <span class="required">*</span> son requeridos.</p>
<?php echo $form->errorSummary($model); ?>
<fieldset><LEGEND align="left">DATOS PERSONALES</LEGEND>
<div class="row1">
<div class="row">
<?php echo $form->labelEx($model,'strcedula'); ?>
<?php echo $form->textField($model,'strcedula',array('size'=>15,'maxlength'=>8, 'id'=>'strcedula')); ?>
<?php echo $form->error($model,'strcedula'); ?>
</div>
<script>
$('#strcedula').on('blur', function(){
$.ajax({
url: <?php echo "'".CController::createUrl('persona/Cedula')."'"; ?>,
data: {'strcedula' : $('#strcedula').val()},
type: "post",
success: function(data){
if (data == 0){
alert("La persona no esta registrada en el Saime");}
else
{
var retrievedJSON = data;
var array = JSON.parse(retrievedJSON);
strprimer_nombre.value = array[0].strnombre_primer;
strprimer_nombre.disabled = false;
strsegundo_nombre.value = array[0].strnombre_segundo;
strsegundo_nombre.disabled = false;
strprimer_apellido.value = array[0].strapellido_primer;
strprimer_apellido.disabled = false;
strsegundo_apellido.value = array[0].strapellido_segundo;
strsegundo_apellido.disabled = false;
dtmfecha_nacimiento.value = array[0].dtmnacimiento;
dtmfecha_nacimiento.disabled = false;
clvedad.value = array[0].clvedad;
clvedad.disabled = false;
}
}
});
})
</script>
<div class="row">
<?php echo $form->labelEx($model,'strrif'); ?>
<?php echo $form->textField($model,'strrif',array('size'=>15,'maxlength'=>12)); ?>
<?php echo $form->error($model,'strrif'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'strprimer_nombre'); ?>
<?php echo $form->textField($model,'strprimer_nombre',array('size'=>20,'maxlength'=>20, 'id'=>'strprimer_nombre')); ?>
<?php echo $form->error($model,'strprimer_nombre'); ?>
</div>
</div>
<div class="row1">
<div class="row">
<?php echo $form->labelEx($model,'strsegundo_nombre'); ?>
<?php echo $form->textField($model,'strsegundo_nombre',array('size'=>20,'maxlength'=>20, 'id'=>'strsegundo_nombre')); ?>
<?php echo $form->error($model,'strsegundo_nombre'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'strprimer_apellido'); ?>
<?php echo $form->textField($model,'strprimer_apellido',array('size'=>20,'maxlength'=>20, 'id'=>'strprimer_apellido')); ?>
<?php echo $form->error($model,'strprimer_apellido'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'strsegundo_apellido'); ?>
<?php echo $form->textField($model,'strsegundo_apellido',array('size'=>20,'maxlength'=>20, 'id'=>'strsegundo_apellido')); ?>
<?php echo $form->error($model,'strsegundo_apellido'); ?>
</div>
</div>
<div class="row1">
<div class="row">
<?php echo $form->labelEx($model,'dtmfecha_nacimiento'); ?>
<?php
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'language'=>'es',
'id'=>'dtmfecha_nacimiento',
'name'=>'Persona[dtmfecha_nacimiento]',
'value'=>$model->dtmfecha_nacimiento,
// additional javascript options for the date picker plugin
'options'=>array(
'showAnim'=>'fold',
'dateFormat' => 'yy-mm-dd', // save to db format
'changeYear' => 'true',
'showAnim'=>'slide',
'changeYear' => true, // can change year
'changeMonth' => true, // can change month // maximum date
'dateFormat' => 'yy-mm-dd', // save to db format
'altField' => '#dtmfecha_nacimiento',
'class'=>'desa-opcio',
'minDate' => '1900-01-01',
'maxDate' => '+y',
'altField' => '#self_pointing_id',
),
'htmlOptions'=>array(
'class'=>'shadowdatepicker', 'style'=>'width:180px;'
),
));
?>
<?php echo $form->error($model,'dtmfecha_nacimiento'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'stremail'); ?>
<?php echo $form->textField($model,'stremail',array('size'=>50,'maxlength'=>50)); ?>
<?php echo $form->error($model,'stremail'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'strtelefono'); ?>
<?php
$this->widget('CMaskedTextField', array(
'model' => $model,
'attribute' => 'strtelefono',
'mask' => '9999-9999999',
'htmlOptions' => array('size' => 30)
));
?>
<?php echo $form->error($model,'strtelefono'); ?>
</div>
</div>
<div class="row1">
<div class="row">
<?php echo $form->labelEx($model,'estado_id'); ?>
<?php $estado = new CDbCriteria;
$estado->select = 'id, nombre';
$estado->order = 'nombre ASC';
?>
<?php
$sel='';
echo $form->dropDownList($model,'estado_id',CHtml::listData(Estado::model()->findAll($estado),'id','nombre'),
array(
'ajax' => array(
'type' => 'POST',
'url' => CController::createUrl('Persona/cargarmunicipios'),
'update' => '#Persona_municipio_id'
),'options'=>$sel,'prompt' => 'Seleccione un Estado...', 'style'=>'width:180px;'
)
);
echo $form->error($model,'estado_id');
?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'municipio_id'); ?>
<?php
echo $form->dropDownList($model,'municipio_id',
CHtml::listData(Municipio::model()->findAllBySql(
"select * from municipio where estado_id
=:keyword order by id=:clave2 asc",
array(':keyword'=>$model->estado_id,':clave2'=>$model->municipio_id)),
'id','nombre'),
array(
'ajax' => array(
'type' => 'POST',
'url' => CController::createUrl('Persona/cargarparroquias'),
'update' => '#Persona_parroquia_id'
),
'options'=>$sel,'prompt' => 'Seleccione un Municipio...', 'style'=>'width:180px;'
)
);
?>
<?php echo $form->error($model,'municipio_id'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'parroquia_id'); ?>
<?php
echo $form->dropDownList($model,'parroquia_id',
CHtml::listData(Municipio::model()->findAllBySql(
"select * from parroquia where municipio_id
=:keyword order by id=:clave2 asc",
array(':keyword'=>$model->municipio_id,':clave2'=>$model->parroquia_id)),
'id','nombre'),
array(
'options'=>$sel,'prompt' => 'Seleccione una Parroquia...', 'style'=>'width:180px;'
)
);
?>
<?php echo $form->error($model,'parroquia_id'); ?>
</div>
</div>
<div class="row1">
<div class="row">
<?php echo $form->labelEx($model,'direccion'); ?>
<?php echo $form->textArea($model,'direccion',array('style'=>'max-width: 570px; width: 570px; min-width: 570px; max-height: 140px; min-height: 50px; height: 50px;')); ?>
<?php echo $form->error($model,'direccion'); ?>
</div>
</div>
<div class="row">
<?php echo $form->labelEx($model,'clvedad'); ?>
<?php echo $form->textField($model, 'clvedad',array('size'=>20,'maxlength'=>20, 'id'=>'clvedad')); ?>
<?php echo $form->error($model,'clvedad'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'fotos'); ?>
<?php echo CHtml::activeFileField($model, 'fotos'); ?>
<?php echo $form->error($model,'fotos'); ?>
</div>
</fieldset>
<fieldset id="ocultar" style="display:none"><LEGEND align="left">DATOS DEL RESPONSABLE</LEGEND>
<div class="row1">
<div class="row">
<?php echo $form->labelEx($model,'strcedula_responsable'); ?>
<?php echo $form->textField($model,'strcedula_responsable',array('size'=>15,'maxlength'=>15, 'id'=>'strcedula_responsable')); ?>
<?php echo $form->error($model,'strcedula_responsable'); ?>
</div>
<script>
$('#strcedula_responsable').on('blur', function(){
$.ajax({
url: <?php echo "'".CController::createUrl('persona/Cedula1')."'"; ?>,
data: {'strcedula_responsable' : $('#strcedula_responsable').val()},
type: "post",
success: function(data){
if (data == 0){
alert("La persona no esta registrada en el Saime");}
else
{
var retrievedJSON = data;
var array = JSON.parse(retrievedJSON);
strprimer_nombre_responsable.value = array[0].strnombre_primer;
strprimer_nombre_responsable.disabled = false;
strsegundo_nombre_responsable.value = array[0].strnombre_segundo;
strsegundo_nombre_responsable.disabled = false;
strprimer_apellido_responsable.value = array[0].strapellido_primer;
strprimer_apellido_responsable.disabled = false;
strsegundo_apellido_responsable.value = array[0].strapellido_segundo;
strsegundo_apellido_responsable.disabled = false;
}
}
});
})
</script>
<div class="row">
<?php echo $form->labelEx($model,'strrif_responsable'); ?>
<?php echo $form->textField($model,'strrif_responsable',array('size'=>15,'maxlength'=>15, 'id'=>'strrif_responsable')); ?>
<?php echo $form->error($model,'strrif_responsable'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'strprimer_nombre_responsable'); ?>
<?php echo $form->textField($model,'strprimer_nombre_responsable',array('size'=>20,'maxlength'=>20, 'id'=>'strprimer_nombre_responsable')); ?>
<?php echo $form->error($model,'strprimer_nombre_responsable'); ?>
</div>
</div>
<div class="row1">
<div class="row">
<?php echo $form->labelEx($model,'strsegundo_nombre_responsable'); ?>
<?php echo $form->textField($model,'strsegundo_nombre_responsable',array('size'=>20,'maxlength'=>20, 'id'=>'strsegundo_nombre_responsable')); ?>
<?php echo $form->error($model,'strsegundo_nombre_responsable'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'strprimer_apellido_responsable'); ?>
<?php echo $form->textField($model,'strprimer_apellido_responsable',array('size'=>20,'maxlength'=>20, 'id'=>'strprimer_apellido_responsable')); ?>
<?php echo $form->error($model,'strprimer_apellido_responsable'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'strsegundo_apellido_responsable'); ?>
<?php echo $form->textField($model,'strsegundo_apellido_responsable',array('size'=>20,'maxlength'=>20, 'id'=>'strsegundo_apellido_responsable')); ?>
<?php echo $form->error($model,'strsegundo_apellido_responsable'); ?>
</div>
</div>
</fieldset>
<br>
<input size="15" maxlength="15" name="Persona[clvusuario]" id="clvusuario" type="hidden" value="<?php echo yii::app()->user->id ?>" />
<?php echo $form->error($model,'clvusuario'); ?>
<div class="row buttons">
<?php echo CHtml::submitButton($model->isNewRecord ? 'Guardar' : 'Guardar',
array('class'=>'small green nice button radius')
); ?>
</div>
<?php $this->endWidget(); ?>
</div>
Si pudieran ayudarme cuanto antes lo agradecería! ya que tengo que resolverlo para mañana, que es una entrega de la uni y llevo todo el día estancado en esto!