El problema está en que por cada opción añades al array entero de deportes cuando lo que debes de hacer es recorrer a dicho array y en cada iteración añadir cada una de sus opciones al
<select>
.
Código Javascript
:
Ver originalvar array_unique = function(array){
var coincidencias = [],
array_filtrado = [];
if (!Array.prototype.forEach){
var total = array.length;
for (var i = 0; i < total; i++)
if (!Array.prototype.indexOf){
var repeticiones = false;
for (var j = i + 1; j < total; j++)
if (array[i][1] == array[j][1]){
repeticiones = true;
break;
}
if (repeticiones) array_filtrado.push(array[i]);
}
else
if (array_filtrado.indexOf(array[i][1]) == -1)
array_filtrado.push(array[i]);
}
else
array.forEach(function(valor){
if (coincidencias.indexOf(valor[1]) == -1){
coincidencias.push(valor[1]);
array_filtrado.push(valor[1]);
}
});
return array_filtrado;
},
deportes = [
['Jose', 'futbol'],
['Luis', 'balonmano'],
['Antonio', 'baloncesto'],
['Mario', 'futbol']
];
var opciones = array_unique(deportes),
total = opciones.length,
lista = document.getElementById("despleDeportes");
for (var i = 0; i < total; i++){
var opcion = document.createElement("option");
opcion.value = opciones[i];
opcion.innerHTML = opciones[i];
lista.appendChild(opcion);
}
Saludos