Javascript Angularjs在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-

您好,在下面的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>
使用提交按钮,我想首先启用以前禁用的所有下拉列表。使用以下代码

  $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
很抱歉,这是一个打字错误,这不是问题所在。