我的 HTML 文件中有一个输入框。如果用户输入一个数字,我想返回 getZip(),如果用户输入一个字符串,我想返回 getCity()。这可能与单个输入框有关,还是我需要为 type="text"指定一个,为 type="number"指定一个?
view.html:
<div ng-app="myApp" ng-controller="myCtrl">
<form ng-submit="getData()">
<input type="search" ng-model="location">
<button>Get Weather</button>
</form>
我的应用程序.js:
第一次尝试:
$scope.getData = function() {
switch (angular.isString($scope.location)) {
case true:
return $scope.getCity();
break;
case false:
return $scope.getZip();
break;
default:
return "Location not recognized";
};
};
第二次尝试:
$scope.getData = function () {
if (angular.isString($scope.location)) {
return $scope.getCity()
} else {
return $scope.getZip()
};
似乎即使输入是数字,一旦通过范围,它无论如何都是字符串。有没有解决的办法?提前致谢!
最佳答案
您应该检查您的输入是否为数字,因为所有输入最初都是字符串类型:
if (!isNaN($scope.location)) {
return $scope.getZip()
}
else {
return $scope.getCity()
}
关于javascript - AngularJS:基于输入类型的返回函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35255273/