Foros del Web » Creando para Internet » HTML »

select con opciones de muchos registros

Estas en el tema de select con opciones de muchos registros en el foro de HTML en Foros del Web. Buen Día: Tengo un SELECT con 20000 registros de opciones y se me hace imposible ya que tarda mucho en cargar el HTML. Como se ...
  #1 (permalink)  
Antiguo 29/06/2016, 09:15
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
select con opciones de muchos registros

Buen Día:
Tengo un SELECT con 20000 registros de opciones y se me hace imposible ya que tarda mucho en cargar el HTML.
Como se podría hacerlo en otra pantalla de busqueda, ejemplo modal pasando parámetros de tabla y campos a buscar y que me retorne el ID.
Muchas Gracias por su ayuda
  #2 (permalink)  
Antiguo 29/06/2016, 13:47
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: select con opciones de muchos registros

Un select así es, con todo respeto una tontería. Nadie, nadie en el planeta, nadie va a hacer un scroll. Olvídate de que se tarde en cargar. Eso es lo de menos. La gente NO LO VA A USAR.

Busca un autocomplete, probablemente con ajax. https://www.google.com.mx/search?q=autocomplete+ajax

Última edición por Rafael; 30/06/2016 a las 13:24
  #3 (permalink)  
Antiguo 29/06/2016, 15:24
Avatar de Iballa  
Fecha de Ingreso: marzo-2013
Mensajes: 107
Antigüedad: 11 años, 1 mes
Puntos: 6
Respuesta: select con opciones de muchos registros

En jQuery UI https://jqueryui.com/autocomplete/ también tienes un script de autocompletar con opciones muy interesantes,
y siendo tantas opciones creo que la mejor es la que llama a un script remoto donde estarán las diferentes opciones de autocompletado.

Saludos
  #4 (permalink)  
Antiguo 01/07/2016, 08:57
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: select con opciones de muchos registros

Autocomplete con javascript nativo http://www.forosdelweb.com/f179/apor...ml#post4520192
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 04/07/2016, 16:47
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires
Mensajes: 413
Antigüedad: 15 años
Puntos: 3
Respuesta: select con opciones de muchos registros

Muchas Gracias Rafael, lo estoy cambiando por un autocompletar con jquery y php, el problema que tengo ahora es que no puedo tomar el ID que selecciono, les paso el codigo por si pueden ayudarme.


<script type="text/javascript" src="plugins/jQuery/jQuery-2.2.0.min.js"></script>
<script type="text/javascript" src="plugins/jQueryUI/jquery-ui.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
//Al escribr dentro del input con id="nomloc"
$('#nomloc').keypress(function(){
//Obtenemos el value del input
var nomloc = $(this).val();
var dataString = 'nomloc='+nomloc;
//Le pasamos el valor del input al ajax
$.ajax({
type: "POST",
url: "../app/Vista/autocomplete_localidades.php",
data: dataString,
success: function(data) {
//Escribimos las sugerencias que nos manda la consulta
$('#suggestions').fadeIn(1000).html(data);
//Al hacer click en algua de las sugerencias
$('.suggest-element a').click(function(){
//Obtenemos la id unica de la sugerencia pulsada
var id = $(this).attr('id');
var idlocalidad = $(this).attr('id');
alert(idlocalidad);
//Editamos el valor del input con data de la sugerencia pulsada
$('#nomloc').val($('#'+id).attr('data'));
//Hacemos desaparecer el resto de sugerencias
$('#suggestions').fadeOut(1000);
});
}
});
});
});
</script>
</head>


<div class="form-group">
<form>
<label>Localidad</label>
<input type="text" class="form-control" id="nomloc" name="nomloc" placeholder="Localidad" value="<?php echo (isset($dato['nomloc'])?$dato['nomloc']:'') ?>" />
<div id="suggestions"></div>
</form>
</div>


<?php
//header( 'Content-type: text/html; charset=iso-8859-1' );

$conexion = mysql_connect('localhost', 'root', '') or die('No se pudo conectar: ' . mysql_error());
mysql_select_db('famularo') or die('No se pudo seleccionar la base de datos');

$search = $_POST['nomloc'];
$query = mysql_query("SELECT loc.idlocalidad id, concat(loc.nombre,', ',pro.nombre) title FROM localidades loc left join provincias pro on loc.idprovincia=pro.idprovincia WHERE loc.nombre like '" . $search . "%' ORDER BY loc.nombre DESC limit 100", $conexion);

while ($row = mysql_fetch_array($query))
{
// echo '<div class="suggest-element"><a data="'.$row['title'].'" id="nomloc'.$row['id'].'">'.utf8_encode($row['title']).'</a></div>';
echo '<div class="suggest-element"><a data="'.$row['title'].'" id="'.$row['id'].'">'.utf8_encode($row['title']).'</a></div>';
}
?>


Funciona, busco las localdiades bien pero no puedo tomar el ID, lo veo con el alert de JS pero no puedo tomarlo desde PHP.

Desde ya Muchas Gracis por su tiempo!!
Norberto

Etiquetas: muchos, opciones, registros, select
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 03:35.