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>