I have this controller
'use strict';
var opsToolControllers = angular.module('opsToolControllers');
opsToolControllers.controller('payoutCtrl', ['$scope', '$location', 'Util', 'User', 'Payout', function ($scope, $location, Util, User, Payout) {
$scope.refundReasons = ["1 -- No show compensation", "2 -- Bonus not paid"];
$scope.userId = null;
$scope.totalPay = null;
function init() {
$scope.status = null;
$scope.payouts = null;
$scope.pending = null;
$scope.showPayoutsInfo = false;
$scope.showPendingInfo = false;
};
function successCallBack(response) {
$scope.opStatus = Util.parseError('OK');
$scope.transactionId = "";
Util.stopProcessIndication();
};
function errorCallBack(response) {
$scope.status = Util.parseError(response);
Util.stopProcessIndication();
};
$scope.payDriver = function (userId, totalPay, chosenReason) {
Payout.payDriver(userId, totalPay, chosenReason, successCallBack, errorCallBack())
};
$scope.userId = $location.search().userId;
if ($scope.userId) {
$scope.getUserPayouts($scope.userId);
}
$scope.validateTotal = function(obj, total) {
$scope.totalPay = 150;
$scope.inputNum.value = parseInt($scope.slider.value);
};
}]);
and this html
<input type="number" id="input_total" class="form-control" ng-model="$scope.totalPay" id="totalPay" required ng-change="validateTotal(this, totalPay)">
<select ng-options="reason for reason in refundReasons" required ng-model="chosenReason">
<option value="">Select refund reason</option>
</select>
<br>
<button class="btn btn-primary" ng-click="payDriver(userId, totalPay, chosenReason)">Pay driver</button>
</p>
what am i missing as the <input>
doesn't do two way binding with the $scope.totalPay
I mean not when I call payDriver(...)
and not when the validator override the $scope.totalPay