2016-11-09 25 views
0

我是新來angularjs,我要根據城市選擇城市的編號,輸入框,當用戶啓動I型顯示在數據列表,所有任何字符它調用的API,基於結果城市名稱被填充。 City id也存在於響應對象(JSON Object)中。 IT工作正常,但我需要特別選擇的城市的城市標識。我不知道如何實現這一點。任何幫助是可觀的。如何根據城市評選獲得cityid

我的HTML:

<input type="text" list="cityList" placeholder="Select City from name " ng-model="selectcity" ng-keyup="selCity()" id="seacityincoucat" /> 
    <datalist id="cityList"> 
    <option ng-repeat="city in cities" value="{{city.name}}"> 
    </datalist> 

我的控制器:

$scope.selCity = function() { 
     var ciseurl = EF_CONS.ALL_CITY_POINT + $scope.selectcity; 
     $http.get(ciseurl, config).then(function (response) { 
      $scope.cities = response.data.results; 

     }); 
    }; 

響應:

{ 
    "httpHeaders": { 
     "message": "cities found : 9" 
    }, 
    "metadata": null, 
    "results": [ 
     { 
      "source": "Self", 
      "id": 12, 
      "name": "Bareilly", 
      "code": null, 
      "active": false 
     }, 
     { 
      "source": "Self", 
      "id": 13, 
      "name": "Belgaum", 
      "code": null, 
      "active": false 
     }, 
     { 
      "source": "Self", 
      "id": 14, 
      "name": "Bengaluru", 
      "code": null, 
      "active": false 
     }, 
     { 
      "source": "Self", 
      "id": 15, 
      "name": "Berhampur", 
      "code": null, 
      "active": false 
     }, 
     { 
      "source": "Self", 
      "id": 16, 
      "name": "Bhilai", 
      "code": null, 
      "active": false 
     }, 
     { 
      "source": "Self", 
      "id": 17, 
      "name": "Bhopal", 
      "code": null, 
      "active": false 
     }, 
     { 
      "source": "Self", 
      "id": 18, 
      "name": "Bhubaneswar", 
      "code": null, 
      "active": false 
     }, 
     { 
      "source": "Self", 
      "id": 19, 
      "name": "Bhusaval", 
      "code": null, 
      "active": false 
     }, 
     { 
      "source": "Self", 
      "id": 20, 
      "name": "Bilaspur", 
      "code": null, 
      "active": false 
     } 
    ], 
    "singleResult": null, 
    "status": "$200", 
    "count": null 
} 
+0

ü可以創建一個plunker –

回答

0

,如果我沒有錯

在HTML添加以下事件和inp的選項UT加載頁面加載的所有城市的數據,並採取所有的數據到$scope.cities您的問題將解決。

ng-model="selectcity" ng-model-options="{ debounce: 1000 }" ng-change="getObjData(selectcity) 

像下面

<input type="text" list="cityList" placeholder="Select City from name" ng-model="selectcity" ng-model-options="{ debounce: 1000 }" ng-change="getObjData(selectcity);" id="seacityincoucat" /> 

在你的控制器

$scope.getObjData = function(name){ 
    for(var i=0;i<$scope.cities.length;i++){ 
     if($scope.cities[i].name.toLowerCase() == name.toLowerCase()){ 
      console.log($scope.cities[i]); //ouput will prints the selected city object data 
      break; 
     } 
    } 
}; 
相關問題