我有一个ID为menuItem
的下拉列表。当选择一个选项时,我需要通过this.id
显示相关项目列表。切换隐藏/显示在下拉菜单中选择事件
$("#menuItem").on("click", ".restaurant", function() {
$(".item").hide().filter("[data-source=" + this.id + "]").show();
return false;
});
无法显示此子列表。
我有一个ID为menuItem
的下拉列表。当选择一个选项时,我需要通过this.id
显示相关项目列表。切换隐藏/显示在下拉菜单中选择事件
$("#menuItem").on("click", ".restaurant", function() {
$(".item").hide().filter("[data-source=" + this.id + "]").show();
return false;
});
无法显示此子列表。
这是工作的代码,如果有人想知道:
$("#restaurant").on("change", function (event) {
$("option:selected").each(function() {
$('.item').hide().filter("[data-source=" + this.id + "]").show();
});
如果你有兴趣切换显示/隐藏在特定的元素或页面的一部分,那么你应该使用jQuery的“切换”功能。一个切换功能的简单例子是
$("button").click(function(){
$("p").toggle();
});
这将简单地在页面中切换显示/隐藏“P”元素,您可以指定您的元素ID。
OP不想切换某个类型的所有元素,他或她想先隐藏显示的元素,然后根据ID显示特定的元素。所以'.toggle()'真的不会有帮助。 – nnnnnn 2014-08-30 07:13:32
尝试$(this).attr('id')
代替this.id
....这是正确的jQuery语法...
$("#menuItem").on("click", ".restaurant", function() {
$(".item").hide().filter("[data-source=" + $(this).attr('id') + "]").show();
return false;
});
小提琴请... – 2014-08-30 07:02:56
请显示相关的html。 – nnnnnn 2014-08-30 07:03:16
欣赏它。功能是在底部... http://jsfiddle.net/2h4oLe3r/ – fresh5447 2014-08-30 07:05:22