Foros del Web » Programando para Internet » Javascript »

Mostrar/Ocultar lista con javascript desde php

Estas en el tema de Mostrar/Ocultar lista con javascript desde php en el foro de Javascript en Foros del Web. Hola, quisiera exponer mi problema al que me enfrento. Estoy realizando una web, con ayuda de wordpress, y resulta que hay una opción que me ...
  #1 (permalink)  
Antiguo 03/10/2012, 06:12
 
Fecha de Ingreso: octubre-2012
Mensajes: 2
Antigüedad: 11 años, 7 meses
Puntos: 0
Mostrar/Ocultar lista con javascript desde php

Hola, quisiera exponer mi problema al que me enfrento.

Estoy realizando una web, con ayuda de wordpress, y resulta que hay una opción que me lista todas las categorías que he introducido, esto ya viene integrado.

Lo que quiero hacer es que cuando pinche en las categorías padre, se me muestren las subcategorias, por medio de un script que ya puse en la cabecera.

he conseguido que cuando pinche en la categoría padre que quiero ver, llame al script, y por tanto a la función, pasandole el id de la categoria y lo he comprobado por medio de "alert", que eso es correcto.

El problema viene ahora, la idea que yo tengo es la de hacerlo con if. y si cumple esa condición, que entre y por medio de "document.getelementbyid(aqui pasaria el id de la subcategoria que quiero mostrar)" y poner la propiedad display en block.

este es el script que hay en la cabecera:

<script type="text/javascript">

function cambiarDisplay(id)
{
if (!document.getElementById) return false;

alert (id);

if(id=="id categoria padre")
{
document.getElementById('id subcategoria que quiero mostrar').style.display="none";
alert ("Entra");
}
else
{
alert("No ha entrado")
}
}
</script>

los alerts son para verificar si efectivamente el valor que envia esta bien.

el problema me surge a la hora de realizar la acción dentro del if, no hace nada de nada.

Yo creo que el problema esta en que wordpress, todos sus archivos son en php y javascript es para el lado del cliente, quiza este equivocado, no lo se...

Muchas gracias
  #2 (permalink)  
Antiguo 03/10/2012, 09:01
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Mostrar/Ocultar lista con javascript desde php

en efecto PHP se ejecuta del lado del servidor, para hacer inferencia en el resultado de JS lo que puedes hacer es dumpear desde php para cambiar el comportamiento

por ejemplo, si usas clases CSS para mostrar/ocultar una capa con JS, si desde php quieres que una sea oculta basta con dumpearlo:

<div class="capa <?php echo 'oculta'; ?>" >...

dónde

Código CSS:
Ver original
  1. .oculta {
  2.     display: none;
  3. }
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 03/10/2012, 09:22
 
Fecha de Ingreso: octubre-2012
Mensajes: 2
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Mostrar/Ocultar lista con javascript desde php

Gracias por contestar.

Hay esta el tema, el problema no es ocultarlas, ya están ocultas desde el CSS.
El problema que creo que es que el script para manejar la acción de ocultar esta entre las etiquetas head, pero el archivo es header.php, ya que wordrpress no tiene ningún archivo de html, compone la pagina montando varios php.

Mi idea, a lo mejor no es la mas correcta para hacer eso, es que desde la función de php que muestra las categorias, como desde la funcion ya la encierra entre etiquetas de lista, le he añadido el evento onclick con la llamada a la función del script y pasandole como valor el ID de la categoría padre.

De esta manera, con un simple if le puedo decir que muestre las subcategorias que quiero mostrar, pero ese script se ejecuta en un archivo php.

Pongo la función que llama al script, por si sirve:

$cp_cat_menu .= '<li onclick="cambiarDisplay('. $cat->term_id .')" id="'. $cat->term_id .'" class="maincat cat-item-'. $cat->term_id .'" title="'. esc_attr( $cat->description ) .'"><a href="#"> '. $cat->name .'</a> '.$show_count.'</li>';

Muchas gracias

Etiquetas: lista, mostrar-ocultar, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:32.