Hola. Para practicar un poco jquery y json, me he propuesto un pequeño ejercicio que consiste en lo siguiente:
En esta web hay una aplicación java (supongo que un applet) http://www.javaranch.com/game/game2.jsp que simula un cuestionario de 12 preguntas sobre el lenguaje java. Me he propuesto rehacerlo en jquery para que se pueda visualizar en dispositivos android. Casi lo tengo acabado, pero me falta un pequeño detale que no sé cómo solucionar.
Me gustaría que, si pulsas el botón de "responder" sin haber elegido ninguna opción de respuesta, no pasara nada (para así forzar al usuario a elegir una pregunta), pero no lo he conseguido.
El código donde intento controlar que hayas elegido una respuesta es este:
$("#done").click( function() {
var respEscogida = unescape($("input[name='answers']:checked").val());
if (respEscogida !== undefined) {
if (respEscogida == arrayPreguntas[0]['correctAnswer']) {
arrayPreguntas.shift(); //eliminamos la pregunta del array
}
else {
//mostrar respuesta correcta y explicacion
$('#correctAnswer').html("Answer: " + arrayPreguntas[0]['correctAnswer']);
$('#explanation').html(arrayPreguntas[0]['explanation']);
}
}
})
He probado con != también con !== y he probado a poner undefined en mayúsculas, entre comillas simples, dobles, etc, a probar con "null" en lugar de "undefined", pero nada de nada. Si no escojo ninguna respuesta, se me dispara el mismo código que si hubiese respondido mal la pregunta y lo que quiero es que sencillamente no haga nada.
He probado a printar el valor de "respEscogida" si no eliges ninguna opción y también he probado con el operador typeof, y precisamente su valor es "undefined". Cómo puedo comprobar si esa variable está vacía?
Gracias.
Por cierto, acabo de descubrir que no funciona en chrome, no me carga las preguntas :s
Marcadores