如何在表单中保存数据时更改提交按钮上的文本?
我有一个像这样的按钮
<button ng-click="save()">Save data</button>
我根据下面的答案更新了我的save-function:
$scope.ButtonText = "Save day";
$scope.save=function(){
$scope.ButtonText = "Saving day";
for(var i=0;i<days.length;i++)
{
MyService.saveday()
.success(function(data, status, headers, config) {
})
.error(function(data, status, headers, config) {
});
}
$scope.ButtonText = "Save day";
};
在保存数据时,我想将文本从“保存数据”更改为“保存数据”,并在保存数据后重新更改为“保存数据”。
更新
我添加了
$scope.ButtonText = "Save day";
基于下面的答案,但我意识到我的需求更加复杂,因为我要多次调用异步服务。因此,我猜问题是如何在异步调用服务时设置文本,并仅将其恢复为原始文本,毕竟,对服务的调用已经完成执行。
谢谢
托马斯
发布于 2013-12-18 06:51:15
您可以在作用域中显示按钮文本,然后在保存时更新作用域值:
<button ng-click="save()">{{button}}</button>
在你的函数中:
$scope.button = "Save data";
$scope.save=function(){
$scope.button = "Saving day";
for(var i=0;i<days.length;i++)
{
MyService.saveday()
.success(function(data, status, headers, config) {
})
.error(function(data, status, headers, config) {
}).then(function() {
if (i===days.length) { // is the last iteration
$scope.button = "Save day";
}
});
}
};
发布于 2013-12-18 06:54:35
至少有几种方法。
其中一种方法是在范围上创建另一个属性,该属性将保存按钮的文本。
$scope.buttonText = 'Save';
$scope.save = function() {
$scope.buttonText = 'Saving...';
};
然后,不是在HTML中对按钮文本进行硬编码,而是将其绑定到一个新的范围属性。
<button ng-click="save()">{{buttonText}}</button>
https://stackoverflow.com/questions/20646264
复制相似问题