如何根据要求更改angularjs中的按钮标签?
我想根据要求更改angularjs中相同按钮的标签,同样的按钮可以更新和提交。
请参阅以下演示 ,
上面的演示是关于复制模板的。 如果某个模板已有数据,则提交按钮的标签应为Update,否则空模板标签应为Submit。
我不能使用以下逻辑,因为它将更改具有相同标签的所有按钮,但我想显示标签提交仅空和非空显示标签更新 。 我该怎么做?
{{btnText}} And add some logic to your controller, that will specify text for button: if (newItem){ $scope.btnText = 'Submit'; }else{ $scope.btnText = 'Update'; }
HTML
Angularjs
$scope.fields=[ { "field1": "", "field2": "", } ] // update and get invoice details $scope.cloneTemplate=function(){ var clone_template={ "field1": "", "field2": ""}; $scope.fields.push(clone_template); } $scope.removeTemplate= function(templateIndex){ $scope.fields.splice(templateIndex,1); } $scope.updateOrder=function(i){ var updateOrder={ "field1":$scope.fields[i].field1, "field2":$scope.fields[i].field2, } alert(updateOrder.field1); $http.post(config.server, updateOrder) .success(function(response, status){ console.log(response); }) .error(function(response, status){ console.log(response); }) }
据我所知,在添加数据时,您希望在更新记录时显示“ Submit
按钮标签并显示“ Update
按钮标签。
因此,正常情况下,您从数据库中获取此值,因此我建议您在此对象中添加id
列,其中包含字段。 现在对象看起来像{id: 1, field1: '1', field2: 2}
所以如果元素有id意味着它已经存在于数据库中。 显然,如果你在字段中没有id
记录意味着它已经从UI添加。
因此整个逻辑将查看对象的id
属性,如果您在记录中有id,那么它将显示Update
作为按钮标签,否则它将Submit
因此,为了使您的逻辑正常工作,您需要从数据库中再次获取列表以使UI保持一致。
工作Plunkr
更改按钮的标记以显示一些范围属性:
{{btnText}}
并为控制器添加一些逻辑,为按钮指定文本:
if (newItem){ $scope.btnText = 'Submit'; }else{ $scope.btnText = 'Update'; }