erick9024
(New Angel 24)
May 5, 2014, 4:20pm
1
Buenos Dias
tengo el siguiente combo
<?php echo $form->dropDownList($model,'cate_nomb', GeTcate::toDownList(),array('prompt' => 'Seleccione una categoria...')); ?>
lo que quiero hacer es que cuando seleccione una opción del combo, se me habiliten campos en mi formulario de acuerdo a dicha selección
<div class="control-group" style="display:none">
<?php echo $form->labelEx($model,'eslp_fech',array('class'=>'control-label')); ?>
<div class="controls">
<?php echo $form->textField($model,'eslp_fech'); ?>
<?php echo $form->error($model,'eslp_fech'); ?>
</div>
</div>
Pro favor alguien podría ser tan amable de ayudarme con un ejemplo les agradezco
jdgz
(Jose Daniel Galvan)
May 5, 2014, 6:44pm
2
Que tal este ejemplo:
<?php echo $form->dropDownList($model,'cate_nomb', GeTcate::toDownList(),array('id'=>'show-hide-action', 'prompt' => 'Seleccione una categoria...')); ?>
<div id="control-group1" class="control-group" style="display:none">
<p>Valor1</p>
</div>
<div id="control-group2" class="control-group" style="display:none">
<p>Valor2</p>
</div>
<script type="text/javascript">
(function($){
$(document).ready(function() {
$("#show-hide-action").change(function() {
// obtienes el valor seleccionado del combo
var action = $(this).val();
if (action) {
// suponiendo que tu combo tiene dos elementos y los cuales tienen value Valor1 y Valor2 (array('Value1'=>'Valor 1', 'Value2'=>'Valor 2'))
if (action === 'Valor1') {
$("#control-group1").show();
$("#control-group2").hide();
} elseif (action === 'Valor2') {
$("#control-group1").hide();
$("#control-group2").show();
}
}
});
});
}(jQuery));
</script>
Espero te sirva.
erick9024
(New Angel 24)
May 5, 2014, 8:23pm
3
Que tal este ejemplo:
<?php echo $form->dropDownList($model,'cate_nomb', GeTcate::toDownList(),array('id'=>'show-hide-action', 'prompt' => 'Seleccione una categoria...')); ?>
<div id="control-group1" class="control-group" style="display:none">
<p>Valor1</p>
</div>
<div id="control-group2" class="control-group" style="display:none">
<p>Valor2</p>
</div>
<script type="text/javascript">
(function($){
$(document).ready(function() {
$("#show-hide-action").change(function() {
// obtienes el valor seleccionado del combo
var action = $(this).val();
if (action) {
// suponiendo que tu combo tiene dos elementos y los cuales tienen value Valor1 y Valor2 (array('Value1'=>'Valor 1', 'Value2'=>'Valor 2'))
if (action === 'Valor1') {
$("#control-group1").show();
$("#control-group2").hide();
} elseif (action === 'Valor2') {
$("#control-group1").hide();
$("#control-group2").show();
}
}
});
});
}(jQuery));
</script>
Espero te sirva.
Muchas gracias !!
que diferencia hay entre como yo lo resolvi a la manera en la cual tu lo pones, yo lo había resuelto así :
<script type="text/javascript">
function categoria(){
if($('#GeTeslp_eslp_tipo').val() == "L"){
$('#GeTeslp_eslp_secr').hide();
$('#eslp_valo').hide();
$('#eslp_infc').hide();
$('#cate_nomb').show();
$('#eslp_fech').show();
$('#esta_codi').show();
}
if($('#GeTeslp_eslp_tipo').val() == "M")
{
$('#cate_nomb').hide();
$('#eslp_fech').show();
$('#GeTeslp_eslp_secr').show();
$('#eslp_valo').show();
$('#eslp_infc').show();
$('#esta_codi').show();
}
if($('#GeTeslp_eslp_tipo').val() == "")
{
$('#cate_nomb').hide();
$('#eslp_fech').hide();
$('#GeTeslp_eslp_secr').hide();
$('#eslp_valo').hide();
$('#eslp_infc').hide();
$('#esta_codi').hide();
$('#esta_codi').hide();
}
}
</script>
jdgz
(Jose Daniel Galvan)
May 5, 2014, 8:32pm
4
Reutilizando tu codigo, tambien podria ser asi:
function categoria() {
var selected = $('#GeTeslp_eslp_tipo').val();
$('#cate_nomb').hide();
$('#eslp_fech').hide();
$('#GeTeslp_eslp_secr').hide();
$('#eslp_valo').hide();
$('#eslp_infc').hide();
$('#esta_codi').hide();
if(selected == "L") {
$('#cate_nomb').show();
$('#eslp_fech').show();
$('#esta_codi').show();
}
if(selected == "M") {
$('#eslp_fech').show();
$('#GeTeslp_eslp_secr').show();
$('#eslp_valo').show();
$('#eslp_infc').show();
$('#esta_codi').show();
}
}
jdgz
(Jose Daniel Galvan)
May 5, 2014, 8:44pm
6
Que bien que te fue util!!!,
Saludos