Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/06/2013, 06:06
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 10 meses
Puntos: 574
Respuesta: Realizar búsquedas dentro de un Array

De entrada usa un array multidimensional para guardar los datos así te vas a ahorrar una busqueda

Código Javascript:
Ver original
  1. var personas = new Array();
  2. personas[0][0] = "Antonio";
  3. personas[0][1] = 35;
  4. personas[1][0] = "Luis";
  5. personas[1][1] = 42;
  6. personas[2][0] = "María";
  7. personas[2][1]= 51;
  8. personas[3][0] = "Pedro";
  9. personas[3][1] = 28;
  10. personas[4][0] = "Mario";
  11. personas[4][1] = 26;

Crea un array para guardar los resultados de la busqueda

Código Javascript:
Ver original
  1. var usuarios = new Array();

Crea una variable para guardar el ultimo mostrado.

Código Javascript:
Ver original
  1. var ultimomostrado=0;

deben ser fuera de la funcion ya que las vas a necesitar en la función que debe mostrar los sucesivos resultados si hay mas de uno.

Para evitar el problema de las mayúsculas y la minúsculas usa .toLowerCase() y compara simpre minúsculas contra minúsculas

Código Javascript:
Ver original
  1. personas[i][0].toLowerCase()==b.toLowerCase()

Cuando encuentres a uno de los usuarios guarda el nombre y la edad

Código Javascript:
Ver original
  1. var usuario=new Array();
  2. usuario[0]=personas[i][0];
  3. usuario[1]=personas[i][1];
  4. usuarios[]=usuario;

Haz un condicional triple que vea cuantos usuarios has encontrado

Código Javascript:
Ver original
  1. if(usuarios.length==1){
  2.    document.getElementById('nombre').value = usuarios[0][0];
  3.    document.getElementById('edad').value = usuarios[0][1];
  4.    document.getElementById("botsiguiente").disabled=true;
  5. } else if (usuarios.length>1) {
  6.    document.getElementById('nombre').value = usuarios[0][0];
  7.    document.getElementById('edad').value = usuarios[0][1];
  8.    document.getElementById("botsiguiente").disabled=false;
  9. }else{
  10.    document.getElementById('mensaje').innerHTML="\<p\ >No se han encontrado resultados\<\/p\>";
  11.    document.getElementById('nombre').value = "";
  12.    document.getElementById('edad').value = "";
  13.    document.getElementById("botsiguiente").disabled=true;
  14. }

Define bien el boton.

Cita:
Botón para mostrar los siguientes resultados
<input type="button" value="Siguiente" onmousedown="aqui iria la funcion">
mejor

Código HTML:
Ver original
  1. <input name="botsiguiente" type="button" disabled="true" id="botsiguiente" onClick="siguiente()"  value="Siguiente">

La funcion siguiente() cae por su peso

Código Javascript:
Ver original
  1. function siguiente(){
  2.  if (ultimomostrado<usuarios.length){
  3.      ultimomostrado++;
  4.      document.getElementById('nombre').value = usuarios[ultimomostrado][0];
  5.      document.getElementById('edad').value = usuarios[ultimomostrado][1];
  6.      if(ultimomostrado==usuarios.length){
  7.         document.getElementById("botsiguiente").disabled=true;
  8.      }else{
  9.         document.getElementById("botsiguiente").disabled=false;
  10.      }
  11.    }
  12. }
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 18/06/2013 a las 06:43