如何在按钮中显示下拉列表的选定元素?

时间:2016-05-17 21:04:15

标签: javascript html angularjs twitter-bootstrap

我有这个下拉菜单:

  <div class="input-group">

  <div class="input-group-btn">

    <button type="button" class="btn btn-default dropdown-toggle"
    data-toggle="dropdown" aria-haspopup="true"
    aria-expanded="false">

    All Categories

    <span class="caret"></span></button>

    <ul class="dropdown-menu" ng-model = "cat">

      <li><a href="#">All Categories</a></li>
      <li role="separator" class="divider"></li>
      <li><a href="#">Clothes</a></li>
      <li><a href="#">Electronics</a></li>
      <li><a href="#">Books</a></li>
      <li><a href="#">Other</a></li>
    </ul>
  </div>

如何从列表中显示所选元素而不是“所有类别”按钮的标签。或者,我可以删除标签,只将默认选定项目设置为第一个,也是“所有类别”?

另外,另一个问题是,如何使用angular访问JS文件中的选定值?

$scope.cat.value 

似乎不起作用。

1 个答案:

答案 0 :(得分:1)

在angularjs代码中声明$ scope.selected变量。修改您的list-item标签(选项),从angularjs添加 ng-click ,以设置选定的变量值。例如:

<li ng-click="selected = 'option1'"><a>Option1</a></li>

如果您点击它,那么选定的变量将被赋值为&#34; option1&#34;。

另一种选择可能是从ng-click中的角度代码调用函数:

ng-click="selectItem('option1')"

然后在角度代码中:

$scope.selectItem = function(value) { $scope.selected = value; }

如果要获取角度范围变量的值,只需执行$ scope.variable。在这种情况下,它将是$ scope.selected