passing parameters to ng-click's function in angularjs passing parameters to ng-click's function in angularjs angularjs angularjs

passing parameters to ng-click's function in angularjs


Typically, you wouldn't need to do this dynamically as you would have specific $scope properties on inputs etc.

Here is an updated plunker.

HTML:

<div class="test" ng-controller="Ctrl">   <button ng-click="update(1, 'text1');">update text 1</button>   <button ng-click="update(2, 'text2');">update text 2</button>    {{text1}} , {{text2}}<div>

JS:

function Ctrl($scope) {  $scope.update = function(parameter1, textVar){      if (parameter1 === 1) {$scope[textVar] = "1"}      if (parameter1 === 2) {$scope[textVar] = "2"}  };}


You can, but I think you are mixing some things up. In your code, you are setting a textVar variable to either 1 or 2. This variable is never used however.

You'll have to bind the element to a variable on the scope, and then in your update function update the relevant scope variable, for instance:

$scope.update = function(button, text) {  if(button == 1) {    $scope.text1 = text;  } else if(button == 2) {    $scope.text2 = text;  }}

And your HTML:

<button ng-click="update(1,'Text for text1');">update text 1</button><button ng-click="update(2, 'Text for text2');">update text 2</button><span ng-bind="text1"></span>, <span ng-bind="text2"></span>