Javascript Angularjs在ng repeat中启用禁用的下拉列表
您好,在下面的html代码中,我使用ng repeat显示所有带名称的行和下拉列表Javascript Angularjs在ng repeat中启用禁用的下拉列表,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,您好,在下面的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-
<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>
使用提交按钮,我想首先启用以前禁用的所有下拉列表。使用以下代码
$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;
}
}
$scope.submit=函数(项)
{
对于(i=0;i
它不起作用。启用下拉列表时,不会将display=false设置为启用。
请让我知道如何更正此问题,以便我可以将显示重置为false。
谢谢我想你这里有个打字错误
ng-click="submit(items)"
按如下方式更正sbumit
至submit
$scope.submit=function(items)
{
for(i=0; i< items.length; i++)
{
this.display=false;
}
}
$scope.submit=函数(项)
{
对于(i=0;i
一个简单的解决方案是将ng disabled
绑定到一个项而不是范围:
ng-disabled="a.display"
在ng change
上,将项目传递给函数:
ng-change="selected(a)"
更改选择功能以更新项目的显示属性:
$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;
}
}
$scope.submit=函数(项)
{
对于(i=0;i
很抱歉,这是一个打字错误,这不是问题所在。