下拉选择不会改变div内容

时间:2015-06-03 14:09:32

标签: javascript html css twitter-bootstrap drop-down-menu

当我从下拉菜单中选择其他选项时,我正试图让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;
}

1 个答案:

答案 0 :(得分:0)

如果您能够编写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做了一些小改动。