Hola, tengo un formulario con varios checkbox y pretendo que al marcar un checkbox, me compruebe en un array los valores que cumplen esta condición y si marco varios checkbox pues compruebe en el array los valores que cumplen todas las condiciones y muestre el resultado
Código HTML:
Ver original<form name="suscripcion" action="#"> <h2>Temas que me interesan
</h2> <input type="checkbox" name="deportes" value="Deportes" /> <input type="checkbox" name="noticias" value="Noticias" /> <input type="checkbox" name="economia" value="Economia" /> <input type="button" name="ver" value="Ver Temas" onclick="info()" />
Código Javascript
:
Ver originalvar datos = new Array();
datos =[["deportes","noticias","NO"],
["deportes","NO","economia"],
["NO","noticias","NO"],
["no","noticias","economia"],
["no","no","economia"],
["deportes","no","no"],
["deportes","noticias","economia"]];
function info() {
var txtDeportes = document.suscripcion.deportes.value.toLowerCase();
var txtNoticias = document.suscripcion.noticias.value.toLowerCase();
var txtEconomia = document.suscripcion.economia.value.toLowerCase();
var encontrados = [];
for(i=0;i<datos.length;i++){
deportes = datos[i][0].indexOf(txtDeportes)>=0
noticias = datos[i][1].indexOf(txtNoticias)>=0
economia = datos[i][2].indexOf(txtEconomia)>=0
if (document.suscripcion.deportes.checked == true) {
if (deportes)
encontrados.push(datos[i]);
}
else { deportes = "" }
if (document.suscripcion.noticias.checked == true) {
if (noticias)
encontrados.push(datos[i]);
}
else { noticias = "" }
if (document.suscripcion.economia.checked == true) {
if (economia)
encontrados.push(datos[i]);
}
else { economia = "" }
}
alert(encontrados);
}
Si marco un sólo checkbox, el que sea este funciona perfectamente, pero no consigo que al marcar varios me cree el if correspondiente, por ejemplo si tengo marcado noticias y economía me debe crear el if siguiente
Código Javascript
:
Ver originalif (noticias && economia)
encontrados.push(datos[i]);