如何做到这一点,当我选择一个选项时,它将显示一个选项而隐藏另一个选项

时间:2019-04-09 22:40:39

标签: javascript jquery

我有一个主下拉菜单和一个辅助下拉菜单。当我在第一个下拉菜单中选择一个选项时,我希望出现一个相应的下拉菜单,并且当我在主下拉菜单中选择另一个选项时,要显示另一个相应的下拉菜单,并隐藏先前显示的下拉菜单。 / p>

我尝试使用$ attr()函数,但我认为我使用正确,但是我的方法不起作用

$(document).ready(function(){
    $("#main_dropdown").change(function(){
        let selectedMajor = $(this).children("option:selected").val();
        if (selectedMajor.trim() == 'arts') {
            $("div.custom_select_business").attr("display", "none");
            $('h3').removeAttr('id');
            $("div#hide").removeAttr('id');
            $("div.custom_select_art").removeAttr('id');
        }
        else if (selectedMajor.trim() == 'business') {
            $('h3').removeAttr('id');
            $("div#hide").removeAttr('id');
            $("div.custom_select_business").removeAttr('id');
        }
    });
});

当我选择“艺术”菜单时,我希望它可以隐藏“业务”下拉菜单,但是仅出现“艺术”下拉菜单,没有其他反应。

1 个答案:

答案 0 :(得分:0)

在这里,这应该按照您的描述进行,进行主要选择,如果是艺术,则将展示艺术品,如果是商业,则将展示生意,否则将两者同时隐藏。

代码>>

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
  <meta charset="utf-8">
  <title></title>
  <script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous">
  </script>
  </head>
  <body>

    <div id="main" class="main" style="display:block;">
      <label for="artsSelect">main selection</label>
      <select class="mainSelect" name="">
        <option value="hi"> hi </option>
        <option value="arts">arts</option>
        <option value="business">business</option>
      </select>
    </div>

    <div id="arts" class="arts" style="display:none;">
      <label for="artsSelect">Arts selection</label>
      <select class="artsSelect" name="">
        <option value="hi"> hi </option>
        <option value="hello">hello</option>
        <option value="foo">foo</option>
      </select>
    </div>

    <div id="business" class="business" style="display:block;">
      <label for="businessSelect">Business selection</label>
      <select class="businessSelect" name="">
        <option value="hi"> hi </option>
        <option value="hello">hello</option>
        <option value="foo">foo</option>
        <option value="bah">bah</option>
      </select>
    </div>
  </body>

  <script type="text/javascript">
    $().ready(function(){
      $('.mainSelect').change(function(){
        if($('.mainSelect').val() == "arts"){
          $('#arts').show();
          $('#business').hide();
        }else if($('.mainSelect').val() == "business"){
          $('#arts').hide();
          $('#business').show();
        }else{
          $('#arts').hide();
          $('#business').hide();
        }
      });
    });
  </script>
</html>