以角度获取按钮名称

Get button name in angular

本文关键字:按钮 获取      更新时间:2023-09-26

我正在尝试获取变量中选择的按钮的名称,然后在之后执行某些操作(更改<p>的内容)。

<form>
    <button name="paypal" class="moyen-payement-button" ng-class="{actif: actifSelected.selectedButton === 1}" ng-click="actifSelected.select(1)">
        <img src="images/payement-methods/paypal.svg" alt="Paypal" class="paypal" />
    </button>
    <button name="creditCard" class="moyen-payement-button" ng-class="{actif: actifSelected.selectedButton === 2}" ng-click="actifSelected.select(2)">
         <img src="images/payement-methods/credit-card.svg" alt="Carte de crédit" class="creditCard" />
    </button>
</form>
<p>Name of my button: </p>
<p>1</p>

如果选择了按钮信用卡,则带有"1"的<p>必须在"2"中更改,我找到了ng-show/ng-hide但我认为我可以简单地修改<p>的内容而无需创建另一个<p>

您可以使用:

<button ng-click="actifSelected.select($event,1)"></button>

在控制器中,您可以使用$event来触发元素

$scope.actifSelected.select = function($event, value) {
    var button = angular.element($event.currentTarget);
    var buttonName = button.attr("name");
}

您可以使用以下表达式:

<p>{{ actifSelected.selectedButton === 1 ? '1' : '2' }}</p>

您可以将$event传递给ng-click:

  <button name="hello" ng-click="myFunction($event, 2)">Test</button>
  <p>{{btnName}}</p>
  <p>{{arg1}}</p>

在控制器中使用它:

$scope.myFunction = function(e, arg1) {
  $scope.arg1 = arg1;
  console.log(e.target.name);
  $scope.btnName = e.target.name;
}

看到这个 Plunkr

只需在

 <p>{{actifSelected.selectedButton}}</p>