Javascript AngularJS将变量传递到工厂

Javascript AngularJS将变量传递到工厂,javascript,html,angularjs,Javascript,Html,Angularjs,我有以下选择列表: <select name="make" class="form-control" ng-model="selectCity"> <option value="Kannur">Kannur</option> <option value="Agra">Agra</option> <option value="Ahemedabad">Ahemedabad</option>

我有以下
选择
列表:

<select name="make" class="form-control" ng-model="selectCity">
    <option value="Kannur">Kannur</option>
    <option value="Agra">Agra</option>
    <option value="Ahemedabad">Ahemedabad</option>
    <option value="Bangalore">Bangalore</option>
    <option value="Chennai">Chennai</option>
    <option value="Mumbai">Mumbai</option>
</select>

您可以使用选择列表上的
ng change
属性,并从中调用API。您还需要在
getAPIcarModels
函数中获取一个参数:

您的标记如下所示:

<select name="make" class="form-control" ng-model="selectCity" ng-change="selectMake()">
最后,你的工厂:

APIcarModels.getAPIcarModels = function(selectCity){
    return $http.get('/carprices3/api/apiData'+ selectCity +'.js')
}

我解决了你在这里写html的问题

<div ng-controller="myCtrl">
  <select ng-change="changeCity()" name="make" class="form-control" ng-model="selectCity">
    <option value="Kannur">Kannur</option>
    <option value="Agra">Agra</option>
    <option value="Ahemedabad">Ahemedabad</option>
    <option value="Bangalore">Bangalore</option>
    <option value="Chennai">Chennai</option>
    <option value="Mumbai">Mumbai</option>
  </select>
</div>

工作示例

您需要添加类似于
ng change=“changeCity(selectCity)”

有关示例和更多信息,请参阅以下文章

http://plnkr.co/edit/0IVNLHiw3jpz4zMKcB0P?p=preview
http://stackoverflow.com/questions/26485346/how-do-i-get-the-ng-model-of-a-select-tag-to-get-the-initially-selected-option    
http://stackoverflow.com/questions/25935869/id-as-ng-model-for-select-in-angularjs

或者:使用
ng选项


视图:


工作示例:

selectCity的来源可能重复?“你不需要把它作为一个论点吗?”Yujinlee,我可以再问一个问题吗?如何将$routeParams也作为参数传递到factory中?获取
$routeParams
值,如此处显示的各个控制器,并传递
APIservices.getAPIcarModels($routeParams.routeParamsName)现在无法使用现有参数当我实现你的代码时,我必须传递两个参数,或者我需要找到另一种方法来代替第一个参数-有什么想法吗?让我们来。好吧,忘记$routeParams,我不需要迷惑你。只是想我有另一个选择标签太一样,我们已经做了
<div ng-controller="myCtrl">
  <select ng-change="changeCity()" name="make" class="form-control" ng-model="selectCity">
    <option value="Kannur">Kannur</option>
    <option value="Agra">Agra</option>
    <option value="Ahemedabad">Ahemedabad</option>
    <option value="Bangalore">Bangalore</option>
    <option value="Chennai">Chennai</option>
    <option value="Mumbai">Mumbai</option>
  </select>
</div>
var app = angular.module('myApp', []);
app.factory('APIservices', function($http) {
  var APIcarModels = {};
  APIcarModels.getAPIcarModels = function(selectCity) {
    alert(selectCity);
    return $http.get('/carprices3/api/apiData'+ selectCity +'.js')
  }
  return APIcarModels;

});

function myCtrl($scope, APIservices) {
  $scope.changeCity = function() {
    APIservices.getAPIcarModels($scope.selectCity);
  };

}
http://plnkr.co/edit/0IVNLHiw3jpz4zMKcB0P?p=preview
http://stackoverflow.com/questions/26485346/how-do-i-get-the-ng-model-of-a-select-tag-to-get-the-initially-selected-option    
http://stackoverflow.com/questions/25935869/id-as-ng-model-for-select-in-angularjs
<div ng-app='App' ng-controller="AppCtrl">
    <select ng-model="selectedCity" ng-options="city.name for city in cities">
</select>
   Selected City is  {{selectedCity.name}}
</div>
angular.module('App', [])
.controller('AppCtrl', function($scope) {

    $scope.cities = [
        {name: 'Chicago'},
        {name: 'London'}
     ];
    $scope.selectedCity = '';   
});