angularjs - 在按钮中自动添加 ng-hide
问题描述
<table>
<tr ng-repeat="response in customUserResponse">
<td>
<div class="buttons" align="center">
<button ng-disabled="isReadOnly" class="btn actionBtn edit-disable"
ng-click="editResponse($index)"><i class="fa fa-edit"></i></button>
<button ng-show="!response.Is_Global__c"
ng-model="response.Is_Global__c" ng-
disabled="isReadOnly" class="btn actionBtn edit-disable"
ng-click="deleteQuestion($index)">
<i class="fa fa-trash"></i></button>
</div>
</td>
</tr>
</table>
<table class="table" style="margin-top: 10px;">
<tr>
<td>
<button ng-disabled="isReadOnly" class="btn actionBtn"
ng-click="addUserRow()">
<i class="fa fa-plus"></i></button>
</td>
</tr>
</table>
$scope.addUserRow = function () {
var l = $scope.customUserResponse.length;
if(l==0)
{
l = $scope.customUserQuestion.length;
}
var quest = {Question_Text__c:"", Response_Value__c:"", Status__c:"", Comments__c:"",
Is_Global__c:"false", Order__c:l};
$scope.enabledEditResponse[l] = true;
$scope.customUserResponse.push(quest);
//var element = document.getElementByClass("deleteButton");
//element.classList.remove("ng-hide");
//angular.element(document.querySelector("#deleteButton")).removeClass("ng-hide");
//$scope.showDeleteBtn = true;
//$scope.$apply();
};
$scope.submitQuestion = function() {
var data = [];
if($scope.customUserResponse.length >= $scope.customUserQuestion.length)
data = data.concat($scope.customUserResponse);
else {
data = data.concat($scope.customUserQuestion);
data = data.concat($scope.customUserResponse);
}
data.forEach(function(element) { element.Application_Id__c = $scope.appId; });
var len = data.length;
for(var i=0; i<len;i++){
data[i].Order__c = i+1;
}
ApplicationDataSource.saveFundingChecklistResponse(angular.toJson(data), function (result) {
if(result[0] !='{\"error\": true, \"result\": null}')
{
$scope.getResponse($scope.loadResponseInTable);
alert('Data saved Successfully');
$scope.resetEnabledEditResponse();
//$scope.init();
}
else
{
alert('Something went wrong. Data is not saved.');
}
$scope.$apply();
});
};
当 response.Is_Global__c == false 时,将显示删除按钮。当我单击加号按钮时,添加了一行,但删除按钮不显示。但是在保存两个按钮显示后。当我检查代码时,我看到 ng-hide 自动添加到类中,如果我手动删除 ng-hide 类,则显示按钮。
解决方案
ng-hide
当ng-show
表达式计算为假值时添加类:这意味着在保存操作之后,此表达式变为false
:
!response.Is_Global__c
通过在元素上移除或添加 .ng-hide CSS 类来显示或隐藏元素。
推荐阅读
- excel - AttributeError:“工作簿”对象在附加模式下使用 openpyxl 引擎没有属性“add_format”
- c# - 需要按字母顺序对列表进行排序
- python - 使用 python 创建一个 PPTX 模板
- php - WordPress - 致命错误:未捕获的错误:未定义的常量“SBVCGMAP_PLUGIN_VERSION”
- sql - 从电子邮件字符串中删除特殊符号
- javascript - Adyen Payment - 当用户点击 PayPal 按钮时如何防止 PayPal 弹出
- sorting - SOLR - 使用排序参数请求最后一个结果很慢
- javascript - 如何根据网站版本控制反应模式
- javascript - 抛出错误 TypeError: Cannot add property 0, object is not extensible
- android - 如果 web url 与存储在 Android 变量中的特定字符串匹配,如何重定向到另一个片段?