如何根据使用角度的下拉选择来显示/隐藏div?

时间:2015-07-10 09:02:39

标签: javascript angularjs drop-down-menu

我想根据下拉列表中的选择显示和隐藏div,这是我的代码,这是我的下拉列表的html代码,它从“selectItemsFilterCriteria”json结构中获取值

1.0

这是我在控制器

中创建的changeme()函数
<select  ng-model="appointment" ng-change="changeme()"  ng-options="item.name for item in selectItemsFilterCriteria">
                <option ng-option value="" >Filter Criteria</option>
            </select>

这是我要显示或隐藏的div的代码,现在我的代码正在处理从下拉列表中选择第一个选项它显示我的div但问题是它没有隐藏选择div从下拉列表中的任何其他选项,请告诉我我在哪里做错了?

$scope.changeme = function() {
    $scope.appointment = $scope.items[0];
  }

项目数组:

 <div class="mycontainer"  ng-show=appointment >
            <div class="left-nav">
                <accordion close-others="true">
                    <accordion-group ng-repeat="item in pagedItems[currentPage] |filter:{name:item.name}| orderBy:sortingOrder:reverse">
                        <accordion-heading>
                            <table>
                                <tr class="odd" ng-click="showDataDetail=!showDataDetail" style="cursor: pointer">
                                    <td><p class="lead-name">{{item.name}}</p>
                                        <p class="call-up-icon">{{item.phoneNo}} </p>
                                        <p>Lead Date : 07/02/2015</p></td>
                                    <td><p></p>
                                        <p class="blue-txt">{{item.trade}}</p>
                                        <p class="fl cstm-wdth">GNU09</p>
                                        <p class="fl">{{item.time}}</p>
                                        <div class="cb"></div>

                                    </td>
                                    <td><p>Today</p>
                                        <p>C#SQL</p>
                                        <p class="blue-remark-icon"></p></td>
                                </tr>
                            </table>
                        </accordion-heading>

                        <div>{{item.data}}</div>
                    </accordion-group>
                </accordion>
            </div>
        </div>

2 个答案:

答案 0 :(得分:0)

问题基本上是你的ng-change函数调用,

$scope.changeme = function() {
  $scope.appointment = $scope.items[0];
}

您正在将约会设置为项目数组的第一个值。因此,无论何时更改选项,该函数都会将其设置回第一个选项,然后显示div。

请删除ng-change功能并尝试。

答案 1 :(得分:0)

删除$scope.changeme()功能。没有必要。

由于您在选择任何选项时使用的ng-model将被分配到ng-model,即约会

这是plunkr example