jQuery多个DIV - 显示/隐藏重置

时间:2010-12-01 14:58:05

标签: jquery

编辑2:可能最好看到正在运行的页面 - http://www.justdoors.co/product-selection - 基本上我需要它,所以如果有人在第一个选择框中选择了某些内容,那么他​​们会点击下一步它会打开另一个下拉列表,如果有人返回并更改了第一个下拉列表中的选项,我需要第二个位重置并隐藏,直到他们点击下一个相关选项。

您好     [选择框]                  

如果用户选择<option 1>,则会显示带有信息的选项1 div ,并显示 DIV A 的链接 如果用户选择<option 2>,则会显示带有信息的选项2 div ,并显示 DIV B 的链接 如果用户选择<option 3>,则会显示选项3 div ,其中包含信息和链接以显示 DIV C

如果用户点击链接以显示 DIV A ,则会显示第二个具有类似选项的选择框。

如果用户点击显示 DIV A ,然后从下拉框 DIV A 中改变了对第一个选项的想法,我需要它重置并隐藏 DIV A ,以便当他们点击该选项中的链接时,它会显示新的选择。

写另一种方式: 用户选择<option 1>点击链接指向 DIV A &gt;&gt; DIV A 会显示,但随后用户会改变主意并选择<option 2>&gt;&gt; DIV A 需要隐藏&gt;&gt;然后,用户可以点击链接以显示 DIV B

这是我正在使用的脚本,显示了DIV A / B / C:

$(document).ready(function() {
  $('#divA-holder').hide();
  $('#divA-link').click(function() {
    $('#divA-holder').toggle(400);
    return false;
  });
  $('#divB-holder').hide();
  $('#divB-link').click(function() {
    $('#divB-holder').toggle(400);
    return false;
  });
  $('#divC-holder').hide();
  $('#divC-link').click(function() {
    $('#divC-holder').toggle(400);
    return false;
  });
});

同时:

    jQuery("#selector1").change(function(){
    if (jQuery(this).val() == "1" ) {
        jQuery("#option1div").slideDown("fast");
    } else {
        jQuery("#option1div").slideUp("fast");
    }
});

在开头使用选项信息显示/隐藏DIV。

我可能过于复杂,所以任何指针都会很棒!

编辑:我想在考虑它的时候我需要在selector1函数中使用某些内容来确保隐藏所有其他div之后,任何关于我如何做到这一点的指针都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

玩这个并让我知道这是否是您正在寻找的: http://jsfiddle.net/bozdoz/RpakG/

我唯一真正做的是将toggle()更改为hide()all并根据选项值的值显示()特定div。所以,我希望能解决你的问题:在更改时,隐藏每个div,显示由选项值指定的div。因为处理程序正在更改,所以如果用户选择相同的div,它将不会无意中隐藏所需的div。它只会隐藏其他div。