点击下拉菜单后保持选中状态

时间:2016-04-09 13:06:44

标签: javascript php twitter-bootstrap drop-down-menu

我使用带有bootstrap的javascript为我的dropmenu。当我点击价值"迈克尔"时,它会回到"所有名字"提交后。我试图配置我的dropmenu以保持"迈克尔"当我点击它时选择,但它总是回到"所有名称"选项?有人可以帮忙吗?

<a>Names</a>
<a class="btn btn-warning btn-select btn-select-light">
  <span class="btn-select-value">All names</span>
  <span class='btn-select-arrow glyphicon glyphicon-chevron-down'></span>
  <input class="span2" id="select_names" name="names" type="hidden">
  <ul name="names">
    <li onclick="$('#select_names').val('Michael');" <?if ($_POST['names']=="Michael" ) echo 'selected="selected"'?>>Michael</li>
    <li onclick="$('#select_names').val('Sofia');">Sofia</li>
    <li onclick="$('#select_names').val('Sani');">Sani</li>
  </ul>
</a>
<div class="col-md-12">
  <section>
    <button id="js-trigger-overlay" type="submit" class="btn btn-success">Search</button>
  </section>

这是下拉菜单的javascript。

$(document).ready(function() {
  $(".btn-select").each(function(e) {
    var value = $(this).find("ul li.selected").html();
    if (value != undefined) {
      $(this).find(".btn-select-input").val(value);
      $(this).find(".btn-select-value").html(value);
    }
  });
});

$(document).on('click', '.btn-select', function(e) {
  e.preventDefault();
  var ul = $(this).find("ul");
  if ($(this).hasClass("active")) {
    if (ul.find("li").is(e.target)) {
      var target = $(e.target);
      target.addClass("selected").siblings().removeClass("selected");
      var value = target.html();
      $(this).find(".btn-select-input").val(value);
      $(this).find(".btn-select-value").html(value);
    }
    ul.hide();
    $(this).removeClass("active");
  } else {
    $('.btn-select').not(this).each(function() {
      $(this).removeClass("active").find("ul").hide();
    });
    ul.slideDown(300);
    $(this).addClass("active");
  }
});

$(document).on('click', function(e) {
  var target = $(e.target).closest(".btn-select");
  if (!target.length) {
    $(".btn-select").removeClass("active").find("ul").hide();
  }
});

0 个答案:

没有答案