2016-09-07 4 views
0

Что я хочу достичь, когда я отправляю форму, она должна возвращать метку опции, которую я выбираю в консоли, но она возвращает мне значение опция.Как получить метку поля ввода при отправке формы в Angular JS

Ожидаемый результат: DXBA неба

Результат получения: Дубай

HTML

<div class="suggestField"> 
    <input type='text' list='listid' placeholder="TO" ng-model="toCity" ng- change="suggestCity(toCity)"> 
    <datalist id='listid'> 
      <option ng-repeat="item in fromSuggestData" label='{{item.PlaceId}}' value='{{item.PlaceName}}'> 
    </datalist> 
    <button ng-click="submitForm(toCity)">SUBMIT</button> 
</div> 

JS

$scope.fromSuggestData = { 
    "PlaceId": "DXBA-sky", 
    "PlaceName": "Dubai", 
    "CountryId": "AE-sky", 
    "RegionId": "", 
    "CityId": "DXBA-sky", 
    "CountryName": "United Arab Emirates" 
}, { 
    "PlaceId": "DUJ-sky", 
    "PlaceName": "Dubois", 
    "CountryId": "US-sky", 
    "RegionId": "PA", 
    "CityId": "DUJA-sky", 
    "CountryName": "United States" 
} 
$scope.submitForm = function(toCity) { 
    console.log(toCity); 
} 
+1

Вместо того, нг-Повторное использование нг-опций для опций https://docs.angularjs.org/api/ng/directive/ngOptions –

+0

@MarcusH Можете ли вы показать мне, как может Я использую опцию ng для моего решения? Я новичок в AngularJS. –

+0

Конечно, но создайте плункер или фрагмент рабочего кода в вопросе с текущим решением. Также включите полный контроллер. –

ответ

3

Здесь представлена ​​демоверсия ng-option.

var app = angular.module("myApp", []); 
 
app.controller("myCtrl", function($scope) { 
 
    $scope.fromSuggestData = [{ 
 
    "PlaceId": "DXBA-sky", 
 
    "PlaceName": "Dubai", 
 
    "CountryId": "AE-sky", 
 
    "RegionId": "", 
 
    "CityId": "DXBA-sky", 
 
    "CountryName": "United Arab Emirates" 
 
    }, { 
 
    "PlaceId": "DUJ-sky", 
 
    "PlaceName": "Dubois", 
 
    "CountryId": "US-sky", 
 
    "RegionId": "PA", 
 
    "CityId": "DUJA-sky", 
 
    "CountryName": "United States" 
 
    }]; 
 
    $scope.submitForm = function(toCity) { 
 
    console.log(toCity); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="myCtrl" class="suggestField"> 
 
    <select id="cityname" ng-model="toCity" ng-options="item as item.PlaceName for item in fromSuggestData"> 
 
    <option value="">Select</option> 
 
    </select> 
 
    <button ng-click="submitForm(toCity.PlaceId)">SUBMIT</button> 
 
</div>

 Смежные вопросы

  • Нет связанных вопросов^_^