Javascript BookYourSeats:如何在AngularJs中计数器达到零时禁用链接 我正在创建一个帮助你订票的应用程序。

Javascript BookYourSeats:如何在AngularJs中计数器达到零时禁用链接 我正在创建一个帮助你订票的应用程序。,javascript,angularjs,frameworks,frontend,Javascript,Angularjs,Frameworks,Frontend,我的问题是,一旦selectedVal为零,我就无法禁用座椅选择 <a class="available" ng-disabled="isDisabled" ng-class="{'selected': item.check == true,'available': item.check == false}" ng-click="execute($index,$parent.$index,item.val,item.letter)">{{item.val}}</a>

我的问题是,一旦selectedVal为零,我就无法禁用座椅选择

<a class="available" ng-disabled="isDisabled" ng-class="{'selected': item.check == true,'available': item.check == false}" ng-click="execute($index,$parent.$index,item.val,item.letter)">{{item.val}}</a>

代码来源:

Disabled不是锚标记的有效属性。资料来源:

()

您可以改为使用按钮:

<button class="available" ng-disabled="isDisabled" ng-class="{'selected': item.check == true,'available': item.check == false}" ng-click="execute($index,$parent.$index,item.val,item.letter)">{{item.val}}</button>
{{item.val}


可以使用CSS标记选定的座椅。

您不能使用
禁用ng

您可以在执行功能中添加如下逻辑:

$scope.execute = function(i, j, itemVal, itemLetter) {
  angular.forEach($scope.obj, function(v, k) {
    if (v[i].val == itemVal && v[i].letter == itemLetter) {

      if ($scope.isDisabled && v[i].check == false) 
        return;

      v[i].check = !v[i].check;
      if (v[i].check)
        $scope.selectedVal -= 1;
      else
        $scope.selectedVal += 1;

      console.log(itemVal + " " + itemLetter);
      if ($scope.selectedVal < 1) {
        $scope.isDisabled = true;
      } else {
        $scope.isDisabled = false;
      }
    }
  });
}

我希望这对你有帮助。谢谢。

我还可以取消选择座位,然后再选择另一个。谢谢你的帮助。但是假设我有一个对象,它的check==true。然后座椅必须被锁定,即用户不能选择或取消选择座椅。我在CSS a.blocked中包含了一个类,以表明座位已经被预订了。你能帮我处理其他的UI案例吗
$scope.execute = function(i, j, itemVal, itemLetter) {
  angular.forEach($scope.obj, function(v, k) {
    if (v[i].val == itemVal && v[i].letter == itemLetter) {

      if ($scope.isDisabled && v[i].check == false) 
        return;

      v[i].check = !v[i].check;
      if (v[i].check)
        $scope.selectedVal -= 1;
      else
        $scope.selectedVal += 1;

      console.log(itemVal + " " + itemLetter);
      if ($scope.selectedVal < 1) {
        $scope.isDisabled = true;
      } else {
        $scope.isDisabled = false;
      }
    }
  });
}
if ($scope.isDisabled && v[i].check == false) 
  return;