繁体   English   中英

在Angular JS中提交表单时如何获取输入字段的标签

[英]How to get label of an input field when submit a form in 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);
}

这是使用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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM