下拉选择不会改变 div 内容

Dropdown selection doesnt change div content

当我从下拉菜单中选择不同的选项时,我试图让 div 中的内容发生变化。在此之前,我在 div 中有选项卡,但它们看起来很难看,所以我放弃了它们,改为使用下拉菜单。我会让下拉菜单引用地图或网格,用户稍后可以在我开始工作时浏览这些地图或网格。

工作代码:http://codepen.io/MarkBond/pen/aOJLqm

HTML:

<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<div class="row">
  <div class="col-lg-12">
    <div class="ibox float-e-margins">
      <div class="ibox-title">
        <h5>Elements Map </h5>
        <div class="ibox-tools">
          <button class="btn btn-default dropdown-toggle btn-xs btn-purple" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="true">
            Views
            <span class="caret"></span>
          </button>
          <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
            <li class="active" role="presentation"><a role="menuitem" tabindex="-1" href="#1">Map</a></li>
            <li role="presentation"><a role="menuitem" tabindex="-1" href="#2">List</a></li>
          </ul>
          <button type="button" class="btn btn-green btn-xs" data-toggle="modal" data-target="#myModal">Reset All</button>
          <div class="modal fade" id="myModal" role="dialog">
            <div class="modal-dialog">
              <div class="modal-content">
                <div class="modal-header">
                  <button type="button" class="close" data-dismiss="modal">
                    <span class="glyphicon glyphicon-remove"></span>
                  </button>
                  <h4 class="modal-title">Element Map</h4>
                </div>
                <div class="modal-body">
                  <p>Are you sure?</p>
                </div>
                <div class="modal-footer">
                  <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                </div>
              </div>
            </div>
          </div>
          <button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target="#myModal">
            <span class="glyphicon glyphicon-fullscreen"></span>
          </button>
          <div class="modal fade" id="myModal" role="dialog">
            <div class="modal-dialog">
              <div class="modal-content">
                <div class="modal-header">
                  <button type="button" class="close" data-dismiss="modal">
                    <span class="glyphicon glyphicon-remove"></span>
                  </button>
                  <h4 class="modal-title">Element Map</h4>
                </div>
                <div class="modal-body">
                  <p>Some text in the modal.</p>
                </div>
                <div class="modal-footer">
                  <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                </div>
              </div>
            </div>
          </div>
          <a class="collapse-link">
            <i class="fa fa-chevron-up"></i>
          </a>
        </div>
      </div>
      <div class="ibox-content">
        <div class="active" id="1">
          Lorem ipsum dolor sit amet, charetra varius quam sit amet vulputate. Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Lorem ipsum dolor sit amet, charetra varius quam sit amet vulputate. Quisque mauris augue, molestie tincidunt
          condimentum vitae, gravida a libero. Lorem ipsum dolor sit amet, charetra varius quam sit amet vulputate. Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Lorem ipsum dolor sit amet, charetra varius quam sit amet
          vulputate. Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Lorem ipsum dolor sit amet, charetra varius quam sit amet vulputate. Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. Lorem
          ipsum dolor sit amet, charetra varius quam sit amet vulputate. Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero.
        </div>
        <div id="2">
          Secondo sed ac orci quis tortor imperdiet venenatis. Duis elementum auctor accumsan. Aliquam in felis sit amet augue. Secondo sed ac orci quis tortor imperdiet venenatis. Duis elementum auctor accumsan. Aliquam in felis sit amet augue. Secondo sed ac
          orci quis tortor imperdiet venenatis. Duis elementum auctor accumsan. Aliquam in felis sit amet augue. Secondo sed ac orci quis tortor imperdiet venenatis. Duis elementum auctor accumsan. Aliquam in felis sit amet augue. Secondo sed ac orci
          quis tortor imperdiet venenatis. Duis elementum auctor accumsan. Aliquam in felis sit amet augue.
        </div>
      </div>
    </div>
  </div>
</div>

CSS:

    .btn-green {
    background-color:#33CC33;
    color: #FFFFFF;
}

.btn-blue {
    background-color:#3333FF;
    color: #FFFFFF;
}

.btn-purple {
    background-color:#CC00FF;
    color: #FFFFFF;
}

.nav-dropdown-style {
    font-weight: 600;
    padding: 4px 12px;
    margin: 14px 5px 5px 20px;
    font-size: 14px;
    float: right;
    background: #1ab394;
}

.nav-dropdown-style:hover {
  background: #199d82;
}

如果你能写 Javascript,这个解决方案就可以了:

// Get all list options
var listOptions = $('ul.dropdown-menu > li > a');

// Attach "click" event
listOptions.click(function(ev) {
  var href = $(this).attr('href');

  // Find divs with content
  var divToShow = $(href);
  var contentDivs = divToShow.parent().find('.content');

  contentDivs.removeClass('active');
  divToShow.addClass('active');
});

我稍微调整了一下代码。 Codepen 就在这里可用:http://codepen.io/anon/pen/XbMeoK。请注意,我也对 CSS 做了一些小改动。