Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2012, 13:54
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Al recorrer el array no trae los datos duplicados

Saludos,

Cree este código
Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. var n = 0;
  5. /**
  6.  * var arr[n++] = new Array('name', 'ip');
  7.  */
  8. var arr = new Array();
  9. arr[n++] = new Array('Vega Baja MXK 1', 'xxx.xxx.xxx.xxx');
  10. arr[n++] = new Array('Vega Baja Sur MXK 1', 'xxx.xxx.xxx.xxx');
  11.  
  12. function search(value){
  13.     if(value == ""){
  14.         document.getElementById('items').innerHTML = '';
  15.         return false;
  16.     }
  17.  
  18.     var nn = 0;
  19.     var found = new Array();
  20.     var str = '';
  21.     var patt = new RegExp(value, "gi");
  22.  
  23.     for(var i = 0; i < arr.length; i++){
  24.         if(patt.test(arr[i][0])){
  25.             found[nn++] = arr[i];
  26.         }
  27.     }
  28.  
  29.     for(var i = 0; i < found.length; i++){
  30.         str += '<a href="http://' + found[i][1] + '">' + found[i][0] + '</a><br />';
  31.     }
  32.  
  33.     document.getElementById('items').innerHTML = str;
  34. }
  35. </script>
  36. </head>
  37. <body>
  38.  
  39. <form action="index.html" onsubmit="return false"><input type="text" name="s" onkeyup="search(this.value);" /></form>
  40.  
  41. <div id="items"></div>
  42.  
  43. </body>
  44. </html>
Si escribo baja no me sale los dos, sin embargo añado esta linea document.getElementById('items').innerHTML += arr[i][0] + ' --- ' + patt.test(arr[i][0]) + '<br />';
Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. var n = 0;
  5. /**
  6.  * var arr[n++] = new Array('name', 'ip');
  7.  */
  8. var arr = new Array();
  9. arr[n++] = new Array('Vega Baja MXK 1', 'xxx.xxx.xxx.xxx');
  10. arr[n++] = new Array('Vega Baja Sur MXK 1', 'xxx.xxx.xxx.xxx');
  11.  
  12. function search(value){
  13.     if(value == ""){
  14.         document.getElementById('items').innerHTML = '';
  15.         return false;
  16.     }
  17.  
  18.     var nn = 0;
  19.     var found = new Array();
  20.     var str = '';
  21.     var patt = new RegExp(value, "gi");
  22.  
  23.     for(var i = 0; i < arr.length; i++){
  24.         if(patt.test(arr[i][0])){
  25.             document.getElementById('items').innerHTML += arr[i][0] + ' --- ' + patt.test(arr[i][0]) + '<br />';
  26.             found[nn++] = arr[i];
  27.         }
  28.     }
  29.  
  30.     for(var i = 0; i < found.length; i++){
  31.         str += '<a href="http://' + found[i][1] + '">' + found[i][0] + '</a><br />';
  32.     }
  33.  
  34.     document.getElementById('items').innerHTML = str;
  35. }
  36. </script>
  37. </head>
  38. <body>
  39.  
  40. <form action="index.html" onsubmit="return false"><input type="text" name="s" onkeyup="search(this.value);" /></form>
  41.  
  42. <div id="items"></div>
  43.  
  44. </body>
  45. </html>
Y aparece las dos opciones. ¿Podrían indicarme que me falta para lograr que salgan los dos datos si escribo baja? Porque colocar esa parte de código, o sea, document.getElementById('items').innerHTML += arr[i][0] + ' --- ' + patt.test(arr[i][0]) + '<br />'; no es algo que se ve bien en un código, a pesar de que muestra lo que necesito.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 08/02/2012 a las 09:01 Razón: quitar ips