Hola a todos!!!
Soy nuevo en el foro. Me gustaría que me ayudaran a realizar una actualización o modificación de un campo mediante una función que calcule una edad. Lo que tengo es lo siguiente, el widgets. Después que el usuario selecciona la fecha de nacimiento, debería de colocar la edad automáticamente
$this->widget('zii.widgets.jui.CJuiDatePicker',
array(
'model'=> $model,
'attribute' => 'FecNacimiento',
'language' => 'es',
'value' => $model->FecNacimiento,
'options' => array(
'dateFormat' => 'yy-mm-dd',
'constrainInput' => 'false',
'changeYear' => 'true',
'duration' => 'fast',
'showAnim' => 'slide',
'onSelect' => 'js: function() {
//Calcular la fecha
//Devolver el resultado al $model->FecNacimiento
}'
),
)
Este seria el html, donde debería de quedar el resultado
<div class="row" id="idEdad">
<?php echo $form->labelEx($model,'Edad'); ?>
<?php echo $form->textField($model,'Edad'); ?>
<?php echo $form->error($model,'Edad'); ?>
</div>
Page 1 of 1
Actualizar un campo mediante una funcion ajax, js, etc
#2
Posted 29 May 2012 - 06:59 PM
Supongamos que tu modelo es 'Usuario' (class Usuario)
Tendrias que actualizar con JQuery o simplemente javascript ese campo en la funcion que onSelect (si es esta la correcta no he verificado) supongo que averiguaste en la doc.
Te dejo el ejemplo con tu código.
Espero te haya guiado de algo, si no pregunta de nuevo a ver que te falta
Saludos.
Tendrias que actualizar con JQuery o simplemente javascript ese campo en la funcion que onSelect (si es esta la correcta no he verificado) supongo que averiguaste en la doc.
Te dejo el ejemplo con tu código.
Espero te haya guiado de algo, si no pregunta de nuevo a ver que te falta
Saludos.
rookie5, on 29 May 2012 - 11:56 AM, said:
$this->widget('zii.widgets.jui.CJuiDatePicker',
array(
'model'=> $model,
'attribute' => 'FecNacimiento',
'language' => 'es',
'value' => $model->FecNacimiento,
'options' => array(
'dateFormat' => 'yy-mm-dd',
'constrainInput' => 'false',
'changeYear' => 'true',
'duration' => 'fast',
'showAnim' => 'slide',
'onSelect' => 'js: function() {
$('#Usuario_Edad').val( CALCULO_FECHA_ACTUAL_MENOS_FECHA_SUM );
}'
),
)
<div class="row" id="idEdad">
<?php echo $form->labelEx($model,'Edad'); ?>
<?php echo $form->textField($model,'Edad'); ?>
<?php echo $form->error($model,'Edad'); ?>
</div>
array(
'model'=> $model,
'attribute' => 'FecNacimiento',
'language' => 'es',
'value' => $model->FecNacimiento,
'options' => array(
'dateFormat' => 'yy-mm-dd',
'constrainInput' => 'false',
'changeYear' => 'true',
'duration' => 'fast',
'showAnim' => 'slide',
'onSelect' => 'js: function() {
$('#Usuario_Edad').val( CALCULO_FECHA_ACTUAL_MENOS_FECHA_SUM );
}'
),
)
<div class="row" id="idEdad">
<?php echo $form->labelEx($model,'Edad'); ?>
<?php echo $form->textField($model,'Edad'); ?>
<?php echo $form->error($model,'Edad'); ?>
</div>
#3
Posted 31 May 2012 - 08:34 AM
Gracias Oliver...algo así pude resolver pero no quede muy conforme, bueno seguire viendo una forma mas diseñada, es decir, una manera donde pueda separar el js y colocarlo en un archivo independiente...gracias pude resolverlo de la siguiente manera:
Después de realizar el calculo de la edad en la función, se lo asigno al selector
$("#idEdad").val(edad);
y después se lo asigno a un input que tiene el código php para la asignación del modelo
<div class="row">
<?php echo $form->labelEx($model,'Edad'); ?>
<input type="text" id="idEdad" readonly="true" <?php echo $form->textField($model,'Edad');?>>
<?php echo $form->error($model,'Edad'); ?>
</div>
Después de realizar el calculo de la edad en la función, se lo asigno al selector
$("#idEdad").val(edad);
y después se lo asigno a un input que tiene el código php para la asignación del modelo
<div class="row">
<?php echo $form->labelEx($model,'Edad'); ?>
<input type="text" id="idEdad" readonly="true" <?php echo $form->textField($model,'Edad');?>>
<?php echo $form->error($model,'Edad'); ?>
</div>
Share this topic:
Page 1 of 1

Help











