javascript - AngularJS:基于输入类型的返回函数

标签 javascript html angularjs input scope

我的 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/

相关文章:

javascript - Chrome 扩展程序 : How to display tab objects?

javascript - Angular 2 - Twitter 搜索 api - 预检时仅应用程序身份验证错误 400

javascript - CKEditor 不会触发更改事件

html - CSS:不接受整个 div

angularjs - 为Google Analytics(分析)中的报告设置默认路径

javascript - Flotcharts : draw point with different colors, 相同的数据系列

java - 试图从当前元素中找到下一个 div 元素

html - 将 HTML 框定位在一个向下的三 Angular 形中

javascript - AngularJS + API 调用

javascript - 模型直接 $watched 并由 View 调用 Angular - 一个好主意?