Tengo una lista desplegable con la identificación menuItem. Cuando se selecciona una opción, necesito mostrar la lista de elementos relacionados a través de this.id.

 $("#menuItem").on("click", ".restaurant", function() {
    $(".item").hide().filter("[data-source=" + this.id + "]").show();
    return false;
});

No se puede mostrar esta sublista.

0
fresh5447 30 ago. 2014 a las 10:59

3 respuestas

La mejor respuesta

Este es el código de trabajo si alguien se preguntaba:

            $("#restaurant").on("change", function (event) {

                $("option:selected").each(function () {

                   $('.item').hide().filter("[data-source=" + this.id + "]").show();

                });
0
fresh5447 1 sep. 2014 a las 16:25

Si está interesado en alternar mostrar / ocultar en el elemento específico o parte de la página, entonces debe usar la función jquery "alternar". Se da un ejemplo simple para la función de alternar

$("button").click(function(){
  $("p").toggle();
});

Esto simplemente alternará mostrar / ocultar el elemento "P" en la página, puede especificar su ID de elementos.

0
Manmohan Jangid 30 ago. 2014 a las 07:10

Pruebe $(this).attr('id') en lugar de this.id .... Esa es la sintaxis correcta de jQuery ...

$("#menuItem").on("click", ".restaurant", function() {
        $(".item").hide().filter("[data-source=" + $(this).attr('id') + "]").show();

        return false;
    });
0
mk117 30 ago. 2014 a las 07:17