hola amigos… necesito ayuda… no tengo ni idea de como codificar mi idea…
a ver, tengo un select q me selecciona un tipo de asistente, el caso es interno o externo.
yo necesito q si me selecciona interno me muestre los datos (nombre, apellido, cedula)que estan guardados en un modelo que se llama personal.
si selecciona externo debe mostrarme los mismos datos pero de un modelo q se llama asistentes.
lo q pasa es q personal, corresponde a la base de datos de la red interna de la compañia, y asistente es algo q yo estoy creando para mi bd.
lo q necesito es q al seleccionar interno se oculte el otro campo y viceversa.
lagogz
(Lagocamanho)
2
Buenas.
Supongo q buscas algo como esto:
<div id='divInterno' style='display: none;'>
Aquí los datos de interno
</div>
<div id='divExterno' style='display: none;'>
Aquí los datos de externo
</div>
<script>
$('#nombreListaDesplegable').change(
function()
{
var opcionSeleccionada = $(this);
var valorSeleccionado = opcionSeleccionada.val();
if(valorSeleccionado == 'interno')
{
$('#divInterno').show('slow');
$('#divExterno').hide('slow');
}
else {
$('#divInterno').hide('slow');
$('#divExterno').show('slow');
}
}
);
</script>
Tú adáptalo a tu vista y listo.
Un saludo.
hola… mira lo que hice? pero ahora no me agurda los datos:
<html>
<head>
<script>
function pagoOnChange(sel) {
if (sel.value=="Interno"){
divC = document.getElementById("Personal");
divC.style.display = "";
divT = document.getElementById("MinutaAsis");
divT.style.display = "none";
}else{
divC = document.getElementById("Personal");
divC.style.display="none";
divT = document.getElementById("MinutaAsis");
divT.style.display = "";
}
}
</script>
</head>
<body>
<div>
<div>
<SELECT NAME="tipo" onChange="pagoOnChange(this)">
<OPTION VALUE="Interno">Asistente Interno</OPTION>
<OPTION VALUE="Externo">Asistente Externo</OPTION>
</SELECT>
</div>
<div id="Personal" style="display:none;">
<?php echo $form->labelEx($tipo,'Nombre'); ?>
<?php echo $form->dropDownList($tipo,'cedula', CHtml::listData(Personal::model()->findAll(), 'cedula', 'nombre')); ?>
<?php echo $form->error($tipo,'cedula'); ?>
</div>
<div id="MinutaAsis" style="display:;">
<br>
<?php echo $form->labelEx($tipo,'Nombre'); ?>
<?php echo $form->dropDownList($tipo,'cedula', CHtml::listData(Asistente::model()->findAll(), 'cedula', 'nombre')); ?>
<?php echo $form->error($tipo,'cedula'); ?>
<br>
</div>
</div>
</body>
</html>
si lo hago como tu dices no me funciona… puedes chequearlo?
</div>
<div class="row">
<?php echo $form->labelEx($tipo,'Tipo'); ?>
<?php $options = array('Interno'=>'Interno','Externo'=>'Externo');?>
<?php echo $form->dropDownList($tipo,'tipo', $options,array('empty' => 'Seleccione ...',)); ?>
<?php echo $form->error($tipo,'tipo'); ?>
</div>
<script>
$('#options').change(
function()
{
var opcionSeleccionada = $(this);
var valorSeleccionado = opcionSeleccionada.val();
if(valorSeleccionado == 'Interno')
{
$('#divInterno').show('slow');
$('#divExterno').hide('slow');
}
else {
$('#divInterno').hide('slow');
$('#divExterno').show('slow');
}
}
);
</script>
<div id=‘divInterno’ style=‘display: none;’>
<?php echo $form->dropDownList($tipo,‘cedula’, CHtml::listData(Personal::model()->findAll(), ‘cedula’, ‘nombre’)); ?>
<?php echo $form->error($tipo,‘cedula’); ?>
</div>
<div id=‘divExterno’ style=‘display: none;’>
<?php echo $form->dropDownList($tipo,‘cedula’, CHtml::listData(Asistente::model()->findAll(), ‘cedula’, ‘nombre’)); ?>
<?php echo $form->error($tipo,‘cedula’); ?>
</div>
lagogz
(Lagocamanho)
5
Y cuál es la dropDownList con nombre "options" ?
Te falta nombrar la lista de opciones:
<div class="row">
<?php
echo $form->labelEx($tipo,'Tipo');
$options = array('Interno'=>'Interno','Externo'=>'Externo');
echo $form->dropDownList($tipo,'tipo', $options,
array('empty' => 'Seleccione ...', 'id'=>'options'));
echo $form->error($tipo,'tipo');
?>
</div>
Un saludo.