我有一个包含5个选项的选择:选择一个选项(默认选择)、第1级、第2级、第3级和第4级。首先,我只想显示选项:选择一个选项和级别1,当我单击选项1时,只显示选项级别2,当我选择选项级别2时,向我显示选项级别3等等,我真的不知道如何做:(
这是我的代码:
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++;
}
]);
<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>
发布于 2016-06-28 10:22:39
我认为用角选择是不可能的,它是用来从下拉式选择输入的。一旦你选择了输入是taken.can,那么你的要求就简单了,这样我们就可以帮你解决问题了。
发布于 2016-06-28 10:22:50
ngShow不操作选中框的内容,而是对表达式进行计算,以查看表达式是否真实,如果是,则显示/隐藏元素。因此,您最初编写的内容将根据表达式nivelSeleccion = niveles[0]
的结果显示/隐藏选择
如果要显示/隐藏表行,则可以将ng-show添加到后续的表行中。
<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
数组。
发布于 2016-06-28 10:35:25
您可以使用ng选项“禁用时”禁用特定选项。我能按你的要求做:
<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显示。
https://stackoverflow.com/questions/38083137
复制相似问题