所以我正在處理這個Web應用程序。我有一個類別列表,如果列表中的項目未被選中,則「保存」和「發佈」按鈕將被禁用。我明白ng-disabled = !(ng-model name)
會做到這一點,但每一次,我加載頁面,按鈕被禁用,但是當我檢查列表上的項目時不啓用。禁用按鈕如果複選框未選中角JS中
<a ng-if="status() < 2" href="#" data-ng-click="publish(true)" class="btn btn-sm btn-block btn-success" ng-disabled="!cat.IsSelected">{{lbl.publish}}</a>
<a ng-if="status() == 2" href="#" data-ng-click="save()" class="btn btn-sm btn-block btn-primary" id="check_box" ng-disabled="!cat.IsSelected">
{{lbl.save}}
</a>
<span ng-if="status() < 2">
<a href="#" ng-click="save()" class="btn btn-sm btn-block btn-primary" id="check_box" ng-disabled="!cat.IsSelected">
{{lbl.save}}
</a>
</span>
<ul class="categories-list">
<li ng-repeat="cat in lookups.CategoryList">
<label><input type="checkbox" id="cat-{{cat.OptionValue}}" data-ng-model="cat.IsSelected"/> {{cat.OptionName}}</label>
</li>
<li ng-if="lookups.CategoryList.length == 0" class="item-empty">{{lbl.empty}}</li>
</ul>
JS代碼:
$scope.post.Categories = [];
if ($scope.lookups.CategoryList != null) {
for (var i = 0; i < $scope.lookups.CategoryList.length; i++) {
var cat = $scope.lookups.CategoryList[i];
if (cat.IsSelected) {
var catAdd = { "IsChecked": false, "Id": cat.OptionValue, "Title": cat.OptionName };
$scope.post.Categories.push(catAdd);
}
}
}
'NG-disabled'('disable'屬性)錨標籤不起作用。 –
你並不真的「禁用」一個「」元素。也許'save()'中的邏輯可以檢查你的條件,而不是執行它的邏輯? – David