如何在AngularJs中使用ng-options显示两个值?

时间:2015-02-27 04:00:14

标签: angularjs

我有一个下拉过滤器,它工作正常。见链接
http://plnkr.co/edit/c5Hrqfv1eA5qfQpkYR41?p=preview
但我想在下拉列表中再添加一个值,然后它无法正常工作。我尝试过以下代码。

<select ng-model="filterDeck.deckDetail" ng-options="deck.name as (deck.name+' - '+deck.level) for deck in data">
</select>

请帮我这样做。谢谢。
VIMAL

2 个答案:

答案 0 :(得分:12)

如果您不想对过滤器进行任何更改,请使用此选项:

<select ng-model="filterDeck.deckDetail" ng-options="deck as deck.name + ' - '  + deck.level for deck in data">

上述选项会将整个对象绑定到模型。

如果您只想将ID绑定到模型,则需要更新您的选择并过滤到以下内容:

<select ng-model="filterDeck.deckDetail" ng-options="deck.id as deck.name + ' - '  + deck.level for deck in data">

然后将过滤器更新为:

$scope.customDeck = function (data) {
    if (data.id === $scope.filterDeck.deckDetail) {
      return true;
    } else {
      return false;
    }
  };  

无论哪种方式都可行。

答案 1 :(得分:0)

这对我有用:

    <div class="form-group">
        <label for="vehicle">Vehiculo:</label>
        <select ng-model="journeyEdit.vehicle" class="form-control" ng-options="vehicle as vehicle.Descripcion + ' - ' + vehicle.Patente for vehicle in vehicles track by vehicle.Id"  required>
            <option value="">Seleccione una opcion</option>
        </select> 
    </div>