Mostrar / Ocultar FieldSet

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!

Alguien por hay que pueda ayudarme? :(

Creo que te sirve así


<?php

    Yii::app ()->getClientScript ()->registerScript ( 'ValidarEdad', 

        'jQuery(document).on("change","#clvedad",function() {

	    var edad = $(this).val()||0;

	    if(edad<18){

	        $("#ocultar").css("display","block");

	    }else{

		$("#ocultar").css("display","none");

	    }

	});',

        CClientScript::POS_END 

    );

 ?>

Lo puedes colocar antes del input de edad para que sepas que corresponde a ese input.

Gracias! el código funciona bien, lo unico es que solo me muestra cuando paso por el campo clvedad, pero ese campo se llena automaticamente con el ajax, no hay una forma de que automaticamente compare si es menor de 18 y lo muestre o oculte dependiende de lo que sea? osea que no sea pasando el blur o change? Y gracias!!

Ya logre solucionarlo!!! Subi tu codigo mas arriba, dentro del ajax y funciona perfectamente ;)

Áca dejo el código por si a alguien mas le sirve ;D


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

                                if(clvedad.value<18){

					                $("#ocultar").css("display","block");

					            }else{

					                $("#ocultar").css("display","none");

					            }

                      			

                  

                                }

                        }

                });


        })

	

</script>