Angularjs在ng-repeat中启用了禁用的下拉菜单
Angularjs enabling disabled dropdowns in the ng-repeat
嗨,在下面的html代码中,我使用ng-repeat来显示所有的行与名称和下拉列表。
<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>
<button ng-click="submit(items)">Submit</button>
在我的控制器中,当c_id的值为3时,它使用以下代码禁用下拉菜单
$scope.display = false;
$scope.selected = function (value) {
this.te = value;
if (this.te == 3) {
this.display = true;
}
};
使用提交按钮,我想首先启用之前禁用的所有下拉菜单。使用以下代码
$scope.submit=function(items)
{
for(i=0; i< items.length; i++)
{
this.display=false;
}
}
行不通。它不会将display=false设置为启用下拉菜单。请让我知道如何纠正这个问题,以便我可以将显示重置为false。由于
一个简单的解决方案是将ng-disabled
绑定到一个项而不是作用域:
ng-disabled="a.display"
在ng-change
上,将项目传递给函数:
ng-change="selected(a)"
更改select函数以更新项的显示属性:
$scope.selected = function (item) {
var value = item.c_id;
this.te = value;
if (this.te == 3) {
item.display = true;
}
};
在提交函数中,只需循环遍历项目并重置显示:
$scope.submit=function(items)
{
for(i=0; i< items.length; i++)
{
items[i].display=false;
}
}
我想你这里打错了
ng-click="submit(items)"
将sbumit
改为submit
$scope.submit=function(items)
{
for(i=0; i< items.length; i++)
{
this.display=false;
}
}
相关文章:
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- angular的下拉菜单
- 创建带有和不带有JavaScript的Bootstrap下拉菜单
- 创建下拉菜单
- 下拉菜单在菜单按钮的边缘闪闪发光
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 硒IDE下拉菜单
- 我的下拉菜单中的链接不起作用
- Bootstrap Dropdown selection是在*all*下拉菜单上设置选择
- 我是如何为触觉设备启用下拉菜单的
- 选中复选框时启用下拉菜单
- 从单个下拉菜单启用选项卡
- 启用在日期选择器的下拉菜单中设置输入值
- 动态禁用/启用引导下拉菜单中的链接
- 启用第二个下拉菜单一旦某些东西被选中在下拉菜单1
- Angularjs在ng-repeat中启用了禁用的下拉菜单
- 解锁/启用用户当前选择的相邻下拉菜单
- 在文本框中键入所有值后启用下拉菜单
- 我想通过管理面板的下拉菜单启用或禁用“博客文章”
- 启用禁用下拉菜单和提交按钮