javascript - 根据下拉框选择显示/隐藏多个div

标签 javascript jquery html css combobox

我有一个组合框,其值分别为 1、2、3 和 4。 我还有 4 个 div,分别命名为 div1、div2、div3 和 div4。

我想要一个具有以下条件的 javascript: - 当从组合框中选择值 1 时,它应该显示 div1 - 当从组合框中选择值 2 时,它应该显示 div1 和 div2 - 当从组合框中选择值 3 时,它应该显示 div1、div2 和 div3 - 当从组合框中选择值 4 时,它应该显示 div1、div2、div3 和 div4 - 同样,如果从组合框中单击值 2,它应该自动隐藏 div3 和 div4,并且应该只显示 div1 和 div2

我在 stackoverflow 上发现了一些 fiddle ,但它不能满足我的需要。

我努力做到这一点,但最后我最终切换了一个 div。

最佳答案

你可以这样做:

$(document).on('change','#combobox',function(){
    var selected = $("#combobox option:selected");
    if ($("#div" + selected.val()).length > 0) {
    	$("#div" + selected.val()).prevAll().show();
        $("#div" + selected.val()).nextAll().hide();
        $("#div" + selected.val()).show();
	}
    else {
        $('.container > div').show();
    }
});
div {
    height: 30px;
}
#div1 {
    background-color:green;
}

#div2 {
    background-color:orange;
}

#div3 {
    background-color:blue;
}

#div4 {
    background-color:red;
}

#div5 {
    background-color:#c23abc;
}

#div6 {
    background-color:#c2da2c;
}

#div7 {
    background-color:#e26ab1;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<select id="combobox" name="select">
  <option value="all">Show all</option> 
  <option value="1">Show till div 1</option> 
  <option value="2">Show till div 2</option>
  <option value="3">Show till div 3</option>
  <option value="4">Show till div 4</option>
  <option value="5">Show till div 5</option>
  <option value="6">Show till div 6</option>
  <option value="7">Show till div 7</option>
    
</select>
<div class="container">
    <div id="div1"></div>
    <div id="div2"></div>
    <div id="div3"></div>
    <div id="div4"></div>
    <div id="div5"></div>
    <div id="div6"></div>
    <div id="div7"></div>
</div>

希望这有帮助!!!

关于javascript - 根据下拉框选择显示/隐藏多个div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33555818/

相关文章:

c# - 我可以阻止 .net 4.0 对单引号进行编码吗?

javascript - 我无法通过 AJAX 获取嵌套 JSON 结果

javascript - <head> 中应包含哪些 JavaScript,<body> 中应包含哪些内容?

html - 使两个 div 响应 - 在大屏幕上并排,在移动设备上彼此下方

javascript - 使用 Leaflet 和 Vue.js 创建 map

javascript - 尝试使用 JSON 解析字符串数组时出现奇怪的错误

javascript - jQuery 加载函数不适用于绑定(bind)

jquery - MVC : Need to pass an list or array of strings from controller to view

javascript - 随着容器宽度的增加,是否可以均匀分布图像,同时增加或减少每行中的元素数量?

javascript - CSS:将元素从静态转换为固定/绝对时如何计算丢失的空间