Search code examples
javascriptangularjsangularjs-ng-repeat

how to pass angular js variable inside onclick function as parameter


I have tried to pass AngularJS variable as argument value inside onclick() to call javascript function. Can anyone guide me on how to do it?

My code:

 <div onclick="deleteArrival({{filterList.id}})" class="table-icon deleteIcon">{{filterList.id}}</div>

Solution

  • You should be using ng-click, there is no reason to use onclick as angular provides you with this functionality

    <div ng-click="deleteArrival(filterList.id)" 
         class="table-icon deleteIcon">{{filterList.id}}</div>
    

    You should then move your function into your AngularJS Controller, and bind it to the scope

    $scope.deleteArrival = function(filterListId) { ... };
    

    If you ABSOLUTELY need to use onclick to call an external function, you could change the function to something like this in your scope, still using the ng-click attribute above:

    $scope.deleteArrival = function(filterListId) { window.deleteArrival(filterListId); };
    

    However I can't see a reason not to move it into your scope