Asegúrate que entiendes el enunciado antes de continuar. Pregunta al profesor si no lo ves claro.
Enlaza un fichero CSS en que haces que la clase tema sea invisible. Ahora.
Al principio de la página vamos a preparar el formulario de selección. Identifica el formulario con el id "dat"
Dentro del formulario, el primer elemento que vamos a añadir es la selección por tema. Pon un texto del tipo "Elige tema" y prepara un SELECT para que el usuario elija el tema que quiere.
Pon las etiquetas de apertura y cierre de SELECT. Dentro vamos a rellenar la lista con los temas que se pueden elegir.
Prepara las etiquetas OPTION para cada tema de forma que su atributo value
coincida con el id
del DIV del tema correspondiente.
Ahora pon un texto para pasar a ofrecer la selección por una palabra o palabras contenidas.
Después irá un elemento que permita indicar esa palabra o palabras.
Indica la etiqueta que te parezca correcta
<input type="text" name="palabra" id="pedpal">
<select name="palabra" id="pedpal">
id
o el name
Ahora vamos a ocuparnos de cómo reaccionará la página cuando seleccionen un elemento de la lista de temas.
Pondremos que reaccione en cuanto seleccionen uno
¿A quién y cómo le ponemos la llamada a la función correspondiente?
onload="..."
onchange="..."
onclick="..."
onmousemove="..."
onload
se refiere a la carga de la página
Prepara la cabecera de la función.
Dentro, empieza ocultando todos los temas (por si había alguno visto) usa el selector de clase de jQuery y el método hide()
A continuación vamos a recuperar el id
elegido.
Lo haremos por partes. Empezamos sacando el número de opcion elegida ¿Cómo?
$("iddelselect").selectedIndex
$(".iddelselect")[selectedIndex]
$("#iddelselect").attr("selectedIndex");
selectedIndex
selectedIndex
ah´i entre corchetes no va a significar nada. Adem´as iddelselect no es una clase, sino el id del SELECT
numsel
Ahora sacaremos el elemento OPTION seleccionado. ¿Cómo?
document.nombreform.nombreselect[numsel]
document.nombreform.nombreselect.numsel
numsel
no es un atributo, sino un indicador
numsel
del tema que nos interesa.
Según hayas construido los OPTION podrás hacerlo con su atributo value
o text
, como vimos más arriba. Guarda ese valor en una variable
Ahora usa esa variable para construir una instrucción jQuery que visualice ese DIV
Con eso quedaría lista esa parte. Cierra la llave de la función. Pruébala y si te da problemas consulta con el profesor.
Vamos ahora con la selección por palabras.
Esta vez tenemos que recoger los cambios en el elemento TEXT. Usa onchange
con otra función
Métete en el programa y pon la cabecera de la función.
Dentro, empezamos recogiendo el texto que han introducido en el TEXT Vamos a ponerlo en la variable palabra
¿Cómo?
palabra=document.nombreform.nombretext.text;
palabra=document.nombreform.nombretext.value;
palabra=$("#idtext").text;
palabra=$("#idtext").attr("value");
text
text
value
con jQuery
palabra
y meterlos en la variable temas
¿Cómo?
temas=$("div:contains("+palabra+")");
temas=$(".tema:contains("+palabra+")")
¿Cómo sacamos cuántos hay?
temas.length
if
que comprueba los casos
En el caso de que sea 0, usa un alert
para sacar el mensaje de error
En otro caso, procede cómo en la otra función: ocúltalos todos y muestra sólo los elegidos (temas.show()
)
Pon la llave de cierre del programa y pruébalo todo. Si te da problemas avisa al profesor.