首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何仅在“选择”中显示选项,然后用AngularJS显示所有选项

如何仅在“选择”中显示选项,然后用AngularJS显示所有选项
EN

Stack Overflow用户
提问于 2016-06-28 09:57:05
回答 4查看 74关注 0票数 1

我有一个包含5个选项的选择:选择一个选项(默认选择)、第1级、第2级、第3级和第4级。首先,我只想显示选项:选择一个选项和级别1,当我单击选项1时,只显示选项级别2,当我选择选项级别2时,向我显示选项级别3等等,我真的不知道如何做:(

这是我的代码:

代码语言:javascript
运行
AI代码解释
复制
app.controller("myController", ['$scope', function($scope){

$scope.niveles = [
    {id:1, "name": "Selecciona nivel"},
    {id:2, "name": "Nivel 1"},
    {id:3, "name": "Nivel 2"},
    {id:4, "name": "Nivel 3"}

];
$scope.nivelSeleccion = $scope.niveles[0];

$scope.table=['Table'];
$scope.rows=['Row'];
$scope.row=['Row'];
$scope.row.text = "Escribe un título";
$scope.counter = 1;

$scope.addRow = function() {
    $scope.rows.push('Row ' + $scope.counter);
    $scope.row.push('Row ' + $scope.counter);
    $scope.counter++;
}

]);

代码语言:javascript
运行
AI代码解释
复制
<td>
   <select class="minimal" ng-model="nivelSeleccion"
   ng-options="nivel.name for nivel in niveles" ng-change="addRow()" ng-show="nivelSeleccion = niveles[0]" >
  </select>
                </td>
EN

回答 4

Stack Overflow用户

发布于 2016-06-28 10:22:39

我认为用角选择是不可能的,它是用来从下拉式选择输入的。一旦你选择了输入是taken.can,那么你的要求就简单了,这样我们就可以帮你解决问题了。

票数 1
EN

Stack Overflow用户

发布于 2016-06-28 10:22:50

ngShow不操作选中框的内容,而是对表达式进行计算,以查看表达式是否真实,如果是,则显示/隐藏元素。因此,您最初编写的内容将根据表达式nivelSeleccion = niveles[0]的结果显示/隐藏选择

如果要显示/隐藏表行,则可以将ng-show添加到后续的表行中。

代码语言:javascript
运行
AI代码解释
复制
<table>
<tr> <!--top row contains drop down list-->
    <td>
       <select class="minimal" ng-model="nivelSeleccion"
            ng-options="nivel.name for nivel in niveles" 
            ng-change="addRow()" />

    </td>
</tr>
    <tr ng-repeat="row in rows track by $index'
       ng-show="$index >= nivelSeleccion.id"><!--subsequent rows contain filtered results-->
        <td>{{row}}</td>
    </tr>
</table>

如果您想删除选择列表中可用的选项,那么您的ng更改函数可能使用pop/拼接niveles数组。

票数 1
EN

Stack Overflow用户

发布于 2016-06-28 10:35:25

您可以使用ng选项“禁用时”禁用特定选项。我能按你的要求做:

代码语言:javascript
运行
AI代码解释
复制
<select class="minimal" ng-model="nivelSeleccion" ng-options="nivel.id as nivel.name disable when nivel.id > (nivelSeleccion + 1) for nivel in niveles" ng-change="addRow()"></select>

我删除了这个示例的ng显示。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38083137

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文