javascript - 如何使用javascript获取按钮的选定值

标签 javascript jquery css

我有以下搜索栏代码,其中有一个我在按钮上开发的下拉列表和一个用于键入搜索查询的文本字段。

点击按钮我正在使用检索文本

document.getElementById('').value;

但是如何获取下拉按钮的选定文本呢?

我的代码:

<div class="input-group">
    <div class="input-group-btn search-panel">
        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" >
            <span id="search_concept">T Shirts</span> <span class="caret"></span>
        </button>
        <ul class="dropdown-menu" role="menu">
            <li><a href="#its_equal">Watches</a></li>
        </ul>
    </div>
    <input type="hidden" name="search_param" value="all" id="search_param">
    <input type="text" class="form-control" id="niket" placeholder="Search term...">
    <span class="input-group-btn">
        <button class="btn btn-default" type="button" id="apply"><span class="glyphicon glyphicon-search"></span>
        </button>
    </span>
</div>

最佳答案

看起来您正在使用 Bootstrap。 Bootstrap 组件通常需要 jQuery。使用 jQuery 将点击处理程序绑定(bind)到您要从中检索值的每个下拉项,在本例中为 <a>标签。

您可以将该值存储在一个变量中,并在单击搜索按钮时检索它。

(function(window, document, $, undefined) {

  var dropdownValue;

  /* Search dropdown menu for items that hold values we want, ".dropdown-menu a" */
  $('.dropdown-menu a').each(function(i, item) {

    /* Add click handler to each one, whenever one is clicked the
       dropdownValue variable is updated with it's value */
    $(this).on('click', function(e) {
      dropdownValue = this.innerText;
    });

  });

  /* Retrieve dropdown value */
  $('#apply').on('click', function(e) {
    alert(dropdownValue);
  });

}(window, window.document, jQuery));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<div class="input-group">
  <div class="input-group-btn search-panel">
    <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
      <span id="search_concept">T Shirts</span>  <span class="caret"></span>
    </button>
    <ul class="dropdown-menu" role="menu">
      <li><a href="#its_equal">Watches</a>
      </li>
      <li><a href="#its_equal">Ties</a>
      </li>
    </ul>
  </div>
  <input type="hidden" name="search_param" value="all" id="search_param">
  <input type="text" class="form-control" id="niket" placeholder="Search term...">
  <span class="input-group-btn">
        <button class="btn btn-default" type="button" id="apply"><span class="glyphicon glyphicon-search"></span>
  </button>
  </span>
</div>

另一种方法是将类应用于选定的 <a>单击搜索按钮时标记并查询它,这样您就不必创建变量并更新它。

关于javascript - 如何使用javascript获取按钮的选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39395204/

相关文章:

html - css div 高度扩展器

CSS 动画 + :nth-child() Selector

javascript - History.pushState 的问题

javascript - 当用 python (pytest) 编写测试时,有没有办法实现 Nodejs 代码覆盖率?

javascript - jQuery (JS) 错误 : ReferenceError: Can't find variable: If

java - 显示 Jsoup 元素

javascript - 使用 javascript 随机调用函数时,如何确保至少一个元素的可见性?

javascript - 单击表头时对表中的行进行排序

javascript - 我已经在滚动上制作了动画,但是我想要应用的样式阻止了它的工作

jquery - 单击链接时动画进度条