Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Select o combobox con solo un registro

Estas en el tema de Select o combobox con solo un registro en el foro de PHP en Foros del Web. Hola amigos, les comento que ya solucione el aterior problema que tenia con los select anidados gracias a ustedes, ahora tengo otro problema. Como hago ...
  #1 (permalink)  
Antiguo 19/04/2016, 07:40
 
Fecha de Ingreso: abril-2016
Mensajes: 65
Antigüedad: 8 años
Puntos: 4
Select o combobox con solo un registro

Hola amigos, les comento que ya solucione el aterior problema que tenia con los select anidados gracias a ustedes, ahora tengo otro problema.
Como hago para capturar el valor de un select que solo tiene un registro?
EL problema es el siguiente, tengo select anidados que me generan
select 1 -> select 2 -> select 3
generalmente el select 3 se carga con unos 4 datos pero en algunas ocaciones solo se carga con 1 y ahi nace el problema. Por que por mas que le de clic en el valor no se selecciona, en cambio cuando hay mas de uno con
Código PHP:
Ver original
  1. var valor = $("#select1").val();
con eso me captura normal el valor.

Que es lo que se tiene que hacer por favor su ayuda
  #2 (permalink)  
Antiguo 19/04/2016, 10:51
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Select o combobox con solo un registro

no deberia haber problema si hay 4 o uno solo , quizas el momento en que obtienes los valores es la falla,

en tu ejemplo veo que colocas que te asigne el valor del select1 y no del select3

coloca mas codigo para tener mas idea
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #3 (permalink)  
Antiguo 19/04/2016, 12:44
 
Fecha de Ingreso: abril-2016
Mensajes: 65
Antigüedad: 8 años
Puntos: 4
Respuesta: Select o combobox con solo un registro

Código PHP:
Ver original
  1. $(document).ready(function() {
  2.           // Parametros para el combo
  3.           $("#ciudad").change(function () {
  4.               $("#ciudad option:selected").each(function () {
  5.                   elegidos=$(this).val();
  6.                   idmand = $("#pais").find(':selected').val();
  7.                   $.post("combo_nombre.php", { elegidos: elegidos, idmand: idmand }, function(data){
  8.                       //var $idmand = $("#pais").find(':selected').val();
  9.                       //$("#pais").load('combo_nombre.php?idmand=' + idmand);
  10.                       $("#nombre").html(data);
  11.                   });
  12.               });
  13.           });
  14.       });

Con este script obtengo variables de mi segundo select para llenar el siguiente select

El problema es el siguiente.
Digamos que mi select es como el select que tenemos aca en el foro donde le damos highlight. Solo que en mi caso el primer dato ya tiene valor. El problema es que si quiero el primer valor la funcion que utilizo para agarrar los valores no me da.
No tengo problema al agarrar los siguientes valores solo el primero.
Por ejemplo tengo
1 Bolivia
2 Brasil
3 Argentina
Si quisiera seleccionar Bolivia, no puedo, pero si quiero 2 o 3 los agarro sin ningun problema.
Solo puedo seleccionar Bolivia si es que selecciono algun otro primero.

El problema es igual en todos mis selects


este es el php que recibe los datos y carga el siguiente select

Código PHP:
Ver original
  1. <?php
  2. include('conexionn.php');
  3. $salida="";
  4. $id_pais=$_POST["idmand"];
  5. $id_paiss=$_POST["elegidos"];
  6. // construimos el combo de ciudades deacuerdo al pais seleccionado
  7.  
  8.  
  9.  
  10. $combog = ("select  DISTINCT * from persona_acredit,cargo_acredit where persona_acredit.cve_vigente = 'V'  and cargo_acredit.nro_acredit = persona_acredit.nro_acredit and cargo_acredit.cod_persona = $id_pais and cargo_acredit.nro_cargo = $id_paiss order by app_acredit ASC, apm_acredit ASC");
  11. //$combog = ("select  DISTINCT * from persona_acredit,cargo_acredit where persona_acredit.cve_vigente = 'V' and cargo_acredit.nro_acredit = persona_acredit.nro_acredit and cargo_acredit.cod_persona = '933' and cargo_acredit.nro_cargo = $id_paiss order by app_acredit ASC, apm_acredit ASC");
  12. $result = $conn->query($combog);
  13. $valor = $result->fetchAll();
  14.  
  15. foreach ($valor AS $result)
  16. {
  17.     $nom_nom = trim($result[4])." ".trim($result[5])." ".trim($result[3]);
  18.     $nom_com = trim($nom_com);
  19.     $salida.= "<option value='".$result[0]."'>".$nom_nom."</option>";
  20. }
  21. echo $salida;
  22. ?>

Última edición por danteavo92; 19/04/2016 a las 13:59 Razón: mejorar explicacion
  #4 (permalink)  
Antiguo 19/04/2016, 15:01
Avatar de danielpatc  
Fecha de Ingreso: marzo-2016
Mensajes: 40
Antigüedad: 8 años, 1 mes
Puntos: 4
Busqueda Respuesta: Select o combobox con solo un registro

Supongo que al tener solo un registro nunca habrá un onChange porque nunca hay cambio, podrías dejar un option por defecto para que sea obligación hacer un cambio, pienso :)
  #5 (permalink)  
Antiguo 19/04/2016, 15:06
 
Fecha de Ingreso: abril-2016
Mensajes: 65
Antigüedad: 8 años
Puntos: 4
Respuesta: Select o combobox con solo un registro

Pensé lo mismo amigos pero el problema esta siempre en seleccionar el primer valor. Cuando resuelva lo pondré acá. Gracias amigo
  #6 (permalink)  
Antiguo 19/04/2016, 15:56
 
Fecha de Ingreso: abril-2016
Mensajes: 65
Antigüedad: 8 años
Puntos: 4
Respuesta: Select o combobox con solo un registro

Ya lo solucione poniendo un texto sin valor como primer dato

Código PHP:
Ver original
  1. $combo_paises.= "<option value=''selected>Seleccione una opción</option>";
  2. foreach ($valor AS $result)
  3.     //while($sql_p = mysql_fetch_row($sql))
  4.     {
  5.      $combo_paises.= "<option value='".$result[1]."'>".$result[2]."</option>";
  6.     }

como ven primero imprimo el valor ese mensaje de Seleccionar opcion y luego cargo los datos

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:08.