javascript - Jquery 从选择框中隐藏/显示 div 不起作用,我不明白为什么?

标签 javascript jquery html

我有以下 jQuery:

<script>
    $(document).ready(function () {
        $(".search_type").hide();
        $("#select_search").change(function () {
            $('#' + $(this).val()).toggle();
        });
    });
</script>
<select id="select_search">
      <option value="1">
      <option value="2">
      <option value="3">
 </select>
 <div id="1" class="search_type">Some Text</div>
 <div id="2" class="search_type">Some Text</div>
 <div id="3"class="search_type">Some Text</div>
enter code here

目前我让它根据选择框的变化显示相应的 div,但是,如果再次更改选择框,这不会删除它。

有没有 if(($this):not.val())..... 隐藏的东西?抱歉,我是 JS/jQuery 的新手,在这里真的很挣扎。

最佳答案

您需要隐藏先前显示的元素,这是一种简单的方法来再次隐藏所有 search_type 元素,更改处理程序然后显示当前元素

jQuery(function ($) {
    var $stypes = $(".search_type").hide();
    $("#select_search").change(function () {
        $stypes.hide();
        $('#' + $(this).val()).show();
    }).change();
});

演示:Fiddle

关于javascript - Jquery 从选择框中隐藏/显示 div 不起作用,我不明白为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18972547/

相关文章:

javascript - 发送 json 以查看但显示为字符串

javascript - 在 HTML 中使用数据属性来代替 JavaScript 编辑图像

javascript - 无法让 vanilla JS onreadystatechange 函数/readyState 4 工作

javascript - 安贝尔吉斯 (Emberjs) 景观

Javascript document.getElementById().value ='' 字段已执行但没有效果

html - Microsoft Edge 中的像素化图像缩小

html - 嵌套标签的正则表达式(最里面使其更容易)

javascript - 是否有一个 JavaScript 库可以根据 RELAX NG 模式验证 xml

javascript - 从指令中删除事件监听器 - Angular.js

javascript - IE6/7/8 内存不足?