Angular ui-select绑定到一个属性,但向另一个用户显示

时间:2016-03-18 14:07:47

标签: javascript angularjs ui-select

这是我的HTML代码:

      <ui-select ng-model="eVisitorGuest.ArrivalOrganization" theme="" name="arrivalOrganization" options="{selectedDisplayProperty:Name}">
                                                <ui-select-match placeholder="Organizacija dolaska">{{$select.selected.CodeMI}}</ui-select-match>
                                                {{$select.selected.Name}}
                                                <ui-select-choices repeat="evisitorArrivalOrganization in evisitorArrivalOrganizations | propsFilter: {Name: $select.search}">
                                                    <div ng-bind-html="evisitorArrivalOrganization.Name  | highlight: $select.Name"></div>

                                                </ui-select-choices>
                                            </ui-select> 

我在arrivalOrganisation对象上保存到数据库CodeMI属性,一切都很好,角度ui-select很好地绑定并选择下拉列表中的CodeMI属性保存到数据库的元素。问题是我不希望CodeMi属性用户而是另一个Name属性。如何实现?

1 个答案:

答案 0 :(得分:0)

我们假设你的控制器中有以下结构:

 $scope.items = [{ name: 'one',
                   value: 1 },
                 { name: 'two',
                   value: 2 },
                 { name: 'three',
                   value: 3 },
                 { name: 'four',
                   value: 4 }];

并且您想要显示项目的名称属性。您可以执行以下操作:

<ui-select ng-model="selected" theme="bootstrap" title="Choose Name...">
  <ui-select-match>{{$select.selected.name}}</ui-select-match>
  <ui-select-choices repeat="item.value as item in items track by $index | filter: $select.search">
    <div ng-bind-html="item.name"></div>
  </ui-select-choices>
</ui-select>

现在,下拉列表将显示名称,但是当您选择一个名称时,您的$ scope.selected将具有所选项目的值。

我知道我是一个&#34; bit&#34;迟到的答案,但我希望有人会发现它有用。 :)