javascript - 关闭其他 div 并在 jquery 的下拉菜单中保持选定的一个处于打开状态

标签 javascript jquery

我想隐藏所有 sibling

我有这样的布局

                <label class=""><b>Design Level</b>
                    <select class="static-website">
                            <option>--------Select--------</option>
                            <option value="basic-design">Basic Design</option>
                            <option value="business-design">Business Design</option>
                            <option value="creative-design">Creative Design</option>
                    </select>
                </label>
                 <br/>

            <div class="static-basic-design">

                <label class="no-pages-static"><b>Number Of Pages</b>
                    <input type="text" name="no-pages-static" value="5" />
                </label>

             </div><!-- End of Basic Static Box -->

             <div class="static-business-design">

                <label class="no-pages-static"><b>Number Of Pages</b>
                    <input type="text" name="no-pages-static" value="10" />
                </label>

             </div><!-- End of BUSINESS Static Box -->

             <div class="static-creative-design">

                <label class="no-pages-static"><b>Number Of Pages</b>
                    <input type="text" name="no-pages-static" value="5" />
                </label>

             </div><!-- End of Creative Static Box -->

我们的 jquery 是这样写的:

=

$(".static-website select").on('change',function(e){
    var selectedopt=$(this).val();
    $('.static-'+selectedopt).siblings().hide(); (this is not working)
    $('.static-'+selectedopt).show();

});

但看起来像 $('.static-'+selectedopt).siblings().hide();这是行不通的。

谢谢!

最佳答案

问题是您的更改选择器 $(".static-website select") 获取 .static-website 下的所有 select 标记>,但你想要的是 .static-website 本身。另外,您可能只想过滤 div 的 sibling 。

$(".static-website").on('change', function(e) {
  var selectedopt = $(this).val();
  $('.static-' + selectedopt).siblings("div").hide();
  $('.static-' + selectedopt).show();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class=""><b>Design Level</b>
  <select class="static-website">
    <option>--------Select--------</option>
    <option value="basic-design">Basic Design</option>
    <option value="business-design">Business Design</option>
    <option value="creative-design">Creative Design</option>
  </select>
</label>
<br/>

<div class="static-basic-design">

  <label class="no-pages-static"><b>Number Of Pages</b>
    <input type="text" name="no-pages-static" value="5" />
  </label>

</div>
<!-- End of Basic Static Box -->

<div class="static-business-design">

  <label class="no-pages-static"><b>Number Of Pages</b>
    <input type="text" name="no-pages-static" value="10" />
  </label>

</div>
<!-- End of BUSINESS Static Box -->

<div class="static-creative-design">

  <label class="no-pages-static"><b>Number Of Pages</b>
    <input type="text" name="no-pages-static" value="5" />
  </label>

</div>
<!-- End of Creative Static Box -->

关于javascript - 关闭其他 div 并在 jquery 的下拉菜单中保持选定的一个处于打开状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27571270/

相关文章:

javascript - 提交成功后如何让数据消失

javascript - 自动更改正文字体大小

javascript - jQuery? : (. tolowercase .replace text.match) 当 URL 不可用时不起作用

javascript - HTML5 多个文件上传 : Set Filenames with JavaScript?

javascript - 为什么不能使用 Gridster 将 DIV 放置在任何地方?

javascript - 为什么在页面刷新后验证函数调用而单击时没有任何反应

javascript - jQuery - 更改提交事件上提交按钮的 html

javascript - 使用 mousemove 移动背景后的右边距

php - 从包含的 .php 文件自动刷新表格

javascript - 我如何编写一个 CouchDB View 来列出每个存储文档的大小?