ng模型和下拉列表,获取名称,而不是值

ng-model and dropdown, get name, not value

本文关键字:获取 模型 下拉列表 ng      更新时间:2023-09-26

我试图在下拉菜单中读取所选选项名称/text.html,而不是通过angular.js读取其值。以下是我的操作方法,但这会返回值,而不是名称:

在我的html 中

<select class="SelectCar" ng-model="SelectedCar"> 
   <option ng-repeat="car in cars" value="{{car.Guid}}">
      {{car.Name}}
   </option>
</select>

在我的控制器中

var car = $scope.SelectedCar;

"汽车"的价值将是汽车。Guid,但我想还车。改为名称。我移不动这辆车。值的Guid,因为我的应用程序中的另一个组件正在使用此Guid。

您需要使用ng选项中的"as"。它允许您在存储另一个值的同时显示一个值。看看下面的代码块:

来自我的控制器:

$scope.cars = [
    {name:'Nissan', guid:'1-9'},
    {name:'Toyota', guid:'1-23'},
    {name:'Ford', guid:'8-43'},
    {name:'Honda', guid:'2-6'},
    {name:'Datsun', guid:'1-55'}
];
$scope.selectedCar = $scope.cars[1].guid;

从我的HTML:

<select ng-model="selectedCar" ng-options="car.guid as car.name for car in cars"></select>
<div>
    Selected Color: {{selectedCar}}   
</div>

这是一个jsFiddle