Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/06/2013, 12:03
josemar2000
 
Fecha de Ingreso: mayo-2013
Mensajes: 38
Antigüedad: 11 años
Puntos: 0
Información Respuesta: Realizar búsquedas dentro de un Array

Por qué le has puesto los push, si ese método es para añadir elementos y yo simplemente lo que quiero es realizar una búsqueda sobre un array y que cuando me encuentre más de un elemento sólo me muestre por pantalla uno, y los demás me los vaya mostrando también de uno en uno, cada vez que pulse el botón de siguiente.
La búsqueda ya funciona y perfectamente, pero el problema es ese, que me muestra todos los encontrados de golpe, todos al mismo tiempo y los quiero de uno en uno.

Te vuelvo a pasar el código como lo tengo ahora para que le eches un vistazo, yo creo que sólo necesita algún arreglillo

<script language="javascript" type="text/javascript">
// Carga de contactos
var ultimomostrado = 0;
var buscarNombre = new Array();
buscarNombre[0] = "Daniel";
buscarNombre[1] = "Luis";
buscarNombre[2] = "María";
buscarNombre[3] = "David";
buscarNombre[4] = "Mario";
var edad = new Array();
edad[0] = 35;
edad[1] = 42;
edad[2] = 51;
edad[3] = 28;
edad[4] = 26;
// y un monton mas de Arrays y de elementos en cada Array
function busca() {
var s = document.getElementById("buscar").value;
var nombres = "";
var edades = "";

if(s!="") {
for(var i=0; i<searchNombre.length; i++) {
if(buscarNombre[i].indexOf(s)!=-1) {
nombres += buscarNombre[i]+"<br/>";
edades += edad[i]+"<br/>";
}
}

if (nombres.length>1) {
document.getElementById('mensaje').innerHTML=nombr es;
document.getElementById('edad').innerHTML=edades;
document.getElementById("botsiguiente").disabled=f alse;
}else{
document.getElementById('mensaje').innerHTML="\<p\ >No se han encontrado resultados\<\/p\>";
document.getElementById('edad').value = "";
document.getElementById('mensaje').value = "";
document.getElementById("botsiguiente").disabled=t rue;
}
}
}

Aquí queda arreglar la variable que tal como está no tiene mucha eficacia

function siguiente(){
if (ultimomostrado<nombres.length){
ultimomostrado++;
document.getElementById('nombre').value = nombres[ultimomostrado][0];
document.getElementById('edad').value = nombres[ultimomostrado][1];
if(ultimomostrado==nombres.length){
document.getElementById("botsiguiente").disabled=t rue;
}else{
document.getElementById("botsiguiente").disabled=f alse;
}
}
}
</script>