AngularJS在ng-repeat中禁用一个下拉菜单
AngularJS disabling one dropdown in ng-repeat
我有以下ng-repeat
在我的HTML代码:
<div ng-repeat="a in items">
<div>
<span>{{a.name}}</span>
</div>
<div>
<select ng-model="a.c_id" ng-options="d.c_id as d.description for d in loclist" ng-disabled="display" ng-change="selected(a.c_id)">
</select>
</div>
然后在控制器中输入:
$scope.display = false;
$scope.selected = function (value) {
$scope.te = value;
if ($scope.te == 3) {
$scope.display = true;
}
};
我面临的问题是,当我改变下拉菜单中的选择时,应该根据值禁用或启用下拉菜单。然而,当我在其中一个值为3的下拉菜单中更改选择时,所有下拉菜单都更改为禁用状态,而不是那个特定的下拉菜单。
请让我知道如何修复这个代码,所以当ng-repeat
显示所有行,我改变其中一行的下拉值,它只是禁用特定的一个,而不是禁用所有行的所有下拉。
Angular ng-repeat
创建继承父作用域的子作用域。在您的示例中,所有ng-repeat
的作用域都继承了父作用域的display
属性。因此,当这个属性改变时,它会反映在所有作用域上。
尝试this
代替$scope
来访问ng-repeat
的当前作用域:
$scope.selected = function (value) {
this.te = value;
if (this.te == 3) {
this.display = true;
}
};
相关文章:
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 下一个下拉菜单不能具有已在另一个下拉菜单中使用的值
- 如何创建根据另一个下拉菜单中的答案显示的下拉菜单
- 当上一个下拉菜单选择了某些内容时,javascript显示下拉菜单
- 根据另一个下拉菜单中的选择更改第二个下拉菜单的值
- Javascript和HTML - 添加一个下拉菜单,我在这里做错了什么
- 如何使下拉菜单关闭,因为同一类的另一个下拉菜单在jquery / javascript中打开
- 动态添加下拉菜单,并根据一个下拉菜单中的选择在另一个下拉列表中选择选项
- 不止一个下拉菜单扰乱了jQuery/Bootstrap函数
- 打开一个下拉菜单切换悬停-淘汰
- 根据另一个下拉菜单的选项值设置一个下拉菜单的文本
- 在从另一个下拉菜单中选择一个选项时动态加载下拉菜单
- 在Highcharts中添加一个下拉菜单来改变AngularJs的图表类型
- 用上一个下拉菜单中的选择动态填充下拉菜单
- 我如何创建一个下拉菜单与标签的复选框列表使用bootstrap
- 使用javascript制作一个下拉菜单
- 创建一个下拉菜单,在页面顶部向上打开,然后向下滚动时向下打开
- 我怎么能有一个功能的原因,但在一个下拉菜单的第一个选项打开一个新的网页
- 根据数据库中另一个下拉菜单中选择的选项更新一个下拉菜单
- js根据另一个下拉菜单改变下拉菜单的可能值