[Pregunta]: Options no se desplazan correctamente

Iniciado por Leguim, 28 Noviembre 2018, 20:39 PM

0 Miembros y 3 Visitantes están viendo este tema.

Leguim

Es muy raro la verdad ya que algunos options de un select no se desplazan normalmente. Y es muy raro todavía que los que no se desplazan son el option 1000 para arriba, en total son 1165 options..

no puedo mandar captura porque cada vez que quiero hacerlo se me cierra el select.. la cosa es que para que se pueda seleccionar del 1000 para arriba hay que hacer como un scroll en el select (el input) pero no se desplazan como debería.

Drakaris

?

¿Cual es tu problema?Y donde esta el codigo? Para que te pogamos ayudar tendrias que especificar más, y te recomiendo, que pongas el codigo para que veamos con detalle donde esta el fallo
Lo increible, no es lo que ves, sino como es

Leguim

#2
Cita de: Drakaris en 29 Noviembre 2018, 17:53 PM
?

¿Cual es tu problema?Y donde esta el codigo? Para que te pogamos ayudar tendrias que especificar más, y te recomiendo, que pongas el codigo para que veamos con detalle donde esta el fallo

El sistema es así, vos tenes 2 selects uno para seleccionar el municipio y otro para seleccionar tu ciudad de residencia.

en el primer select, al seleccionar un municipio se van a poder ver las ciudades de dicho municipio en el segundo select. Entonces a medida que el usuario va cambiando de municipio desaparecen ciudades y reaparecen otras del municipio que se selecciono.

El sistema funciona correctamente hasta que se llega hasta el option 1000 de ciudades.

SELECT PARA SELECCIONAR TU MUNICIPIO:

Código (php) [Seleccionar]

<select class="input_registro_C select_registro_municipio" onchange="Change_Municipio(this.value)">
  <?php
      Options_Municipios
();
   
?>

</select>


En la funcion de php de Options_Municipios() no hay mucho que mostrar simplemente tienen los options que son algo así... <option value="1">Nombre del municipio</option>
No los muestro porque son 173 y se les va a ser pesadisimo ver tantas lineas pero ya revise cada una y ninguna esta incorrecta. (estoy seguro que el error no pasa por ahí)


SELECT PARA SELECCIONAR CIUDADES
Código (php) [Seleccionar]

<select class="input_registro_C select_registro_ciudad" height="50px">
<?php
        Options_Ciudades
();
   
?>

</select>


Lo mismo son todos los options de las ciudades que tiene el sistema <option value="1">Nombre de la ciudad</option>

simplemente al cambiar o seleccionar un option determinado del select de municipios se van a ocultar o motrar determinadas ciudades

Con esta función se OCULTAN TODAS LAS CIUDADES QUE TENGA EL SISTEMA
Código (javascript) [Seleccionar]

function Ocultar_Ciudades()
{
 var select_ciudad = document.querySelectorAll(".select_registro_ciudad");
 var option_pc = select_ciudad[0].getElementsByTagName("option");
 var option_movil = select_ciudad[1].getElementsByTagName("option");
 var cant_option_pc = option_pc.length;
 var cant_option_movil = option_movil.length;

 option_pc[0].selected = true;
 option_movil[0].selected = true;
 for(var i = 1; i < cant_option_pc && i < cant_option_movil; i++)
 {
   option_pc[i].style.display = "none";
   option_movil[i].style.display = "none";
 }
}


AL CARGAR LA PAGINA VA A EJECUTARSE LO SIGUIENTE

Código (javascript) [Seleccionar]

// FORMULARIO UBICACIÓN
window.addEventListener('load', Reiniciar_Options_Ubicacion,false);

function Reiniciar_Options_Ubicacion()
{
 Ocultar_Ciudades();
}


AL HACER CLICK EN UN DETERMINADO OPTION DE SELECT MUNICIPIOS PASARA ESTO..

Código (javascript) [Seleccionar]

function Change_Municipio(value)
{
 if(value == 0)
 {
   Ocultar_Ciudades(); // Oculta todas las ciudades
 }
 else if(value == 1)
 {
   Ocultar_Ciudades(); // Oculta todas las ciudades
   Mostrar_Ciudades_M1(); // Muestra las ciudades del Municipio 1 (Adolfo Alsina)
 }
 else if(value == 2)
 {
   Ocultar_Ciudades(); // Oculta todas las ciudades
   Mostrar_Ciudades_M2(); // Muestra las ciudades del Municipio 2 (Adolfo Gonzales Chavez)
 }
else if(value== X) // VA A PASAR ESTO HASTA EL 135 ya que son 135 municipios los cuales tienen varias ciudades, dando un total de unas 1170 ciudades aproximadamente
{

}


EL PROBLEMA SEGURAMENTE ESTE POR ACÁ:

Código (javascript) [Seleccionar]

function Mostrar_Ciudades_M119() // Mostrar ciudades del Municipio 119 (San Pedro)
{
 var select_ciudad = document.querySelectorAll(".select_registro_ciudad");
 var option_pc = select_ciudad[0].getElementsByTagName("option");
 var option_movil = select_ciudad[1].getElementsByTagName("option");

 for(var i = 991; i < 1022; i++)
 {
   option_pc[i].style.display = "block";
   option_movil[i].style.display = "block";
 }
}

function Mostrar_Ciudades_M120() // Mostrar ciudades del Municipio 120 (San Vicente)
{
 var select_ciudad = document.querySelectorAll(".select_registro_ciudad");
 var option_pc = select_ciudad[0].getElementsByTagName("option");
 var option_movil = select_ciudad[1].getElementsByTagName("option");

 for(var i = 1022; i < 1025; i++)
 {
   option_pc[i].style.display = "block";
   option_movil[i].style.display = "block";
 }
}


COMO PUEDEN VER.. EN LA SEGUNDA FUNCION YA ESTOY TRABAJANDO CON MAS DE 1000 OPTIONS EN UN SELECT PERO CUANDO TRATO DE HACER DISPLAY BLOCK.. SI SE MUESTRAN PERO CON EL ERROR QUE YA DIJE. QUE NO SE DESPLAZAN CORRECTAMENTE. SE DEFORMA DE ALGUNA MANERA EL SELECT.. ESTO SOLAMENTE CON ELEMENTOS QUE TENGAN option_pc[1001] o option_movil[1001] para moviles para arriba.

tambien pueden probar con este sencillo codigo que les dejo.. que pueden copiar y pegar en un nuevo archivo html si quieren para poder ver el error..

https://pastebin.com/T5xCE0yJ

z3nth10n

Ala ala, ya podrías haber hecho más doble posts, hay una opción de editar. :xD

Interesados hablad por Discord.

Leguim

Cita de: z3nth10n en 29 Noviembre 2018, 20:56 PM
Ala ala, ya podrías haber hecho más doble posts, hay una opción de editar. :xD

No tiene sentido editar si el foro/sistema no me permite poner todos los caracteres del programa. es por eso que hice "doble post". Para que se pueda ver todo el código.

z3nth10n

Amigo en ese caso, usa: https://pastebin.com/

Así se verá más limpio el mensaje que quieras postear. Usa varios pastebins si lo necesitas.

Un saludo. :P

Interesados hablad por Discord.


z3nth10n

Pero muchacho, edita el trochimoche de arriba, y dile a algun mod que te edite dos doble posts. Si no, andamos en las mismas.

Así es imposible responderte bien.

Solo faltaría que llegase alguien y te citase la respuesta :xD (10 veces por lo menos)

Interesados hablad por Discord.

Leguim

#8
Cita de: z3nth10n en 29 Noviembre 2018, 21:56 PM
Pero muchacho, edita el trochimoche de arriba, y dile a algun mod que te edite dos doble posts. Si no, andamos en las mismas.

Así es imposible responderte bien.

Solo faltaría que llegase alguien y te citase la respuesta :xD (10 veces por lo menos)

Ya esta, pero me encantaría que me dieras una respuesta relevante al tema.

z3nth10n

Te puedo ayudar, pero realmente, se me hace muy espeso el tema (ya que no tengo como probar por mi cuenta lo que realmente está ocurriendo)

Mejor, sube todo tu codigo aquí:

https://jsfiddle.net/

Intenta representar con la mayor fidelidad posible el problema.

Y a ver. :P

Interesados hablad por Discord.