Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/07/2014, 04:45
josemar2000
 
Fecha de Ingreso: mayo-2013
Mensajes: 38
Antigüedad: 11 años
Puntos: 0
Respuesta: Mostrar en un select los elementos de un array sin repetir

Ahora si funciona he hecho algunas modificaciones para que me muestre sólo los elementos del campo deporte que es lo que necesito y el código ha quedado así
Código Javascript:
Ver original
  1. var array_unique = function(array){
  2.      var coincidencias = [],
  3.          array_filtrado = [];
  4.          if (!Array.prototype.forEach){
  5.              var total = array.length,
  6.                  repeticiones = 0;
  7.              for (var i = 0; i < total; i++)
  8.                  if (!Array.prototype.indexOf){
  9.                      repeticiones = 0;
  10.                      for (var j = i + 1; j < total; j++)
  11.                          if (array[i][1] == array[j][1]){
  12.                              repeticiones++;
  13.                              break;
  14.                          }
  15.                      if (!repeticiones) array_filtrado.push(array[i]);
  16.                  }
  17.                  else
  18.                      if (array_filtrado.indexOf(array[i][1]) == -1)
  19.                          array_filtrado.push(array[i]);
  20.          }
  21.          else
  22.              array.forEach(function(valor){
  23.                  if (coincidencias.indexOf(valor[1]) == -1){
  24.                      coincidencias.push(valor[1]);
  25.                      array_filtrado.push(valor[1]);
  26.                  }
  27.              });
  28.          return array_filtrado;
  29.      };
Pero la función esta la necesito, como he explicado al principio para un select y necesito que cada deporte sea una opción dentro del select, ya que al pulsar en cada uno de los deportes hará una cosa.
Este es el select modificado con tu función pero lógicamente, no lo he hecho bien porque me muestra todos los deportes en una sóla linea.
Código Javascript:
Ver original
  1. function cambiar(){
  2.    
  3.   var despleDeportes = document.getElementById("despleDeportes");  
  4.   for (var i = 0; i < deportes.length; i++) {  
  5.     despleDeportes.options[i] = new Option (array_unique(deportes));   
  6.     despleDeportes.options.value = (array_unique(deportes));
  7.     despleDeportes.options.text = (array_unique(deportes));
  8.     despleDeportes.options[i].value = "Valor"; 
  9.    }
  10.    despleDeportes.options[0].selected=1;    
  11. }
Código HTML:
Ver original
  1. <body onload="cambiar()">
  2.  <select id="despleDeportes">
  3.   <option>Todos los deportes</option>  
  4.   </select>