我想访问可在 AngularJS 中使用的变量内的输入字段值,以便我可以将其添加到字符串中,借助该字符串我可以调用其余 api。
请帮忙。
<body ng-app="myApp">
<div ng-controller="myCtr">
<form name="myForm">
<input type="text" ng-model='pinCode' id="zip" onBlur="myZipcode">
{{city}}
{{state}}
</form>
</div>
<script>
var zip;
var pat1;
function myZipcode(){
zip = document.getElementById("zip").value;
pat1 = 'http://ziptasticapi.com/'+zip;
}
var myApp = angular.module('myApp' , []);
myApp.controller('myCtr', function($scope, $http){
var path = 'http://ziptasticapi.com/12345'
$http.get(pat1).success(function (response) {
$scope.city = response.city;
$scope.state = response.state;});
});
</script>
</body>
在 http.get 服务中,如果我使用路径变量而不是 pat1 ,它就可以工作。 另一件事是,我希望州和城市能够动态显示,而无需提交表单并从 REST API 调用。这就是为什么我试图获取变量内的输入值来完成任务
最佳答案
无需为pinCode
定义额外的var,因为您使用了ng-model
,因此您可以从 Controller 访问pinCode
。还应该使用 ng-blur
而不是 onBlur
。
你可以使用类似
HTML:
<input type="text" ng-model='pinCode' id="zip" ng-blur="myZipcode()">
Controller :
var myApp = angular.module('myApp' , []);
myApp.controller('myCtr', function($scope, $http){
$scope.pinCode= ''; // defaulr empty
var path = 'http://ziptasticapi.com/';
$scope. myZipcode = function() {
$http.get(path + $scope.pinCode).success(function (response) {
$scope.city = response.city;
$scope.state = response.state;
});
};
});
关于javascript - 在提交调用 webapi 之前获取 Angularjs 变量中的输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35622503/