I'm currently confuse in trying to obtain the value inside a text box using jquery .value
<input disabled="true" ng-model="account.referral_code_string"> I tried using document.getElementById('input-refcode').value to try to obtain the value but it comes out as empty on my console.
But if I tried binding it onto a on-click event, it manages to obtain the value stored inside the ng-model
$('.trigger').on('click', function(){ console.log(document.getElementbyId('input-refcode')) }); As you can see there is a value inside the text box itself. But when you tried inspecting it, this is what came out.
<input disabled="true" ng-model="account.referral_code_string"> If you look at there is no value inside the input textbox. I'm not sure if it has something to do with angular.js
3 Answers
You can get the scope object using element
var scope = angular.element(document.getElementById('input-refcode')).scope(); var desiredValue = scope.account.referral_code_string; This might help you.
inject $timeout service in controller
$timeout(function(){ console.log(document.getElementById('input-refcode')); },200); Note: Use capital B in getElementById not getElementbyId.
var app = angular.module('todoApp', []); app.controller('TodoListController', function($scope){ $scope.$watch('referral_code_string'), function(){ console.log($scope.referral_code_string)}; console.log(document.getElementById('input-refcode').value); });<script src=""></script> <script src=""></script> <div ng-app="todoApp" ng-controller="TodoListController as todoList"> <input disabled="true" ng-model="referral_code_string" ng-init="referral_code_string = 'abc'" value="abc"> </div>
