首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AngularJs -想要在ng的基础上更改按钮的文本-重复

AngularJs -想要在ng的基础上更改按钮的文本-重复
EN

Stack Overflow用户
提问于 2016-05-12 06:48:43
回答 1查看 630关注 0票数 0

我正在使用angularjs应用程序,并希望根据ng-重复的条件更改按钮的文本。

守则是:

代码语言:javascript
运行
复制
    <button class="save btn btn-inverse" data-ember-action="3432" style="margin-left: 380px" 
        type="submit" ng-disabled="editForm.$invalid || isSaving">
            Submit as <strong>{{vm.buttonText}}</strong>
    </button>

    <button class="btn btn-inverse dropdown-toggle" data-toggle="dropdown" ng-click="showDetails = ! showDetails">
            <span class="caret"></span>
    </button>

    <ul id="ember3445" class="ember-view menu dropdown-menu pull-right" ng-show="showDetails">
        <li id="status.id" class="ember-view open status _tooltip" ng-repeat="status in vm.ticketStatus" >
                <a href="">Submit as <strong>{{status.status}}</strong></a>
        </li>
    </ul>

控制器部分:

代码语言:javascript
运行
复制
    vm.ticketStatus = [];
    vm.ticketStatus.push({id: 'ember3451', status: 'New'},
            {id: 'ember3452', status: 'Open'},
            {id: 'ember3453', status: 'Pending'},
            {id: 'ember3454', status: 'On hold'},
            {id: 'ember3455', status: 'Solved'});

    vm.buttonText;
    vm.changeStatus = function (status){
        console.log("dsfdsfd");
        if(status != null){
            if(status == 'New'){
                vm.buttonText = 'New';
            } else if(status == 'Open'){
                vm.buttonText = 'Open';
            } else if(status == 'Pending'){
                vm.buttonText = 'Pending';
            } else if(status == 'On hold'){
                vm.buttonText = 'On hold';
            } else if(status == 'Solved'){
                vm.buttonText = 'Solved';
            } else {
                vm.buttonText = 'New';
            }
            return "" + vm.status;
        } else{
            return 'New';
        }
    };

我试着做这样的事,但没有起作用。我想要的是,当我选择ng-重复条件为挂起(例如),文本的按钮应该更改为提交作为挂起。

所有的帮助都很感激,谢谢.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-12 07:53:45

对change函数没有显式调用。

解决柱塞:https://plnkr.co/edit/gWhfUCCh1doYVp0vzown

Html:

代码语言:javascript
运行
复制
 <div ng-controller="Ctrl">
  <button class="save btn btn-inverse" data-ember-action="3432" style="margin-left: 380px" type="submit">
        Submit as         <strong>{{vm.buttonText}}</strong>
  </button>
  <ul>
    <li id="status.id" class="ember-view open status _tooltip" ng-repeat="status in vm.ticketStatus">
      <a href="" ng-click="vm.changeStatus(status.status)">Submit as             <strong>{{status.status}}</strong>
      </a>
    </li>
  </ul>
</div>

主计长:

代码语言:javascript
运行
复制
function Ctrl($scope) {
 $scope.vm = {};
 $scope.vm.ticketStatus = [];
 $scope.vm.ticketStatus.push({id: 'ember3451', status: 'New'},
           {id: 'ember3452', status: 'Open'},
            {id: 'ember3453', status: 'Pending'},
            {id: 'ember3454', status: 'On hold'},
            {id: 'ember3455', status: 'Solved'});

 $scope.vm.buttonText;
 $scope.vm.changeStatus = function (status){
        console.log("dsfdsfd");
        if(status !== null){
            if(status == 'New'){
               $scope.vm.buttonText = 'New';
            } else if(status == 'Open'){
               $scope.vm.buttonText = 'Open';
            } else if(status == 'Pending'){
                $scope.vm.buttonText = 'Pending';
            } else if(status == 'On hold'){
                $scope.vm.buttonText = 'On hold';
            } else if(status == 'Solved'){
                $scope.vm.buttonText = 'Solved';
            } else {
               $scope.vm.buttonText = 'New';
            }
            return "" + vm.status;
        } else{
            return 'New';
        }
    };
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37179241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档