jquery - 需要的想法 : AngularJS: Select Dropdown with several Option Tags

标签 jquery html angularjs angularjs-directive

我有一个选择标签,下面有几个选项:

  <form class="navbar-form navbar-right" role="search">
    <label class="left-padding">
      <font color="white">Custom: </font>
        <select name="options" ng-model="PODOptions">
            <option value="" select> </option>
            <option value="Extended View">Show Extended View</option>
            <option value="">Hide Extended View</option>
            <option value="Filter">Show Filter</option>
            <option value="">Hide Filter</option>
        </select>
    </label>
  </form>

我想在用户选择一个选项时显示和隐藏页面的不同部分。 我已将选择选项结果绑定(bind)到 PODOptions。 “过滤器”是指我的垂直导航栏:

        <div class="sidebar-nav vertical-nav">
         ...
        </div>

当用户选择隐藏过滤器时我想隐藏它并在用户选择显示过滤器时显示我的“扩展 View ”指的是页面上我想在选择时显示和隐藏的另一个 div 的不同部分一个选项。

目前,我一直在使用 ng-switch 来控制页面上呈现的内容,但是当用户选择“显示过滤器”然后选择“显示扩展 View ”时我遇到了问题,因为过滤器和扩展 View 应显示 View ,但一旦 PODOptions 绑定(bind)到新变量,过滤器选项就会消失。

一定有更好的方法来做到这一点。有人有什么想法吗?

最佳答案

HTML:

<select name="options" ng-model="PODOptions" ng-change="PODOptionsHandler()">
    <option value="">Select...</option>
    <option value="extendedView">Extended View</option>
    <option value="hideExtendedView">Hide Extended View</option>
    <option value="showFilter">Show Filter</option>
    <option value="hideFilter">Hide Filter</option>
</select>

<div class="sidebar-nav vertical-nav" ng-show="showFilter">

</div>

JavaScript:

$scope.PODOptionsHandler = function(){

    switch ($scope.PODOptions) {

        case 'showFilter':
            $scope.showFilter = true;
            break;
        case 'hideFilter':
            $scope.showFilter = false;
            break;
        case 'extendedView':
            $scope.extendedView = true;
            break;
        case 'hideExtendedView':
            $scope.extendedView = false;
            break;
    }

    $scope.PODOptions = '';

};

关于jquery - 需要的想法 : AngularJS: Select Dropdown with several Option Tags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25839086/

相关文章:

javascript - 如何通过 Prefix 获取所有 data-* 属性

javascript - 如何在jQuery和javascript上以ajax post方式播放声音效果?

javascript - 如何只刷新 JavaScript 代码的一部分而不是整个页面?

javascript - 当输入 ng-model 是 ngRepeat 变量时如何从输入数据中获取?

javascript - 即使没有触摸该字段,AngularJS 也会出现错误消息

jquery - 浏览器中的自定义进度条

javascript - 如何仅从一个div添加一个滚动条到另一个div

javascript - 如何让 "am"或 "pm"指示符与 HTML5 时间输入元素一起显示?

javascript - 为每个输入单独显示占位符文本

javascript - 调整图片大小,需要一个好的库