使用Angular中的ng-option下拉列表进行数据绑定

时间:2016-04-11 23:16:34

标签: angularjs data-binding drop-down-menu ng-options

我有一个下拉列表,我想根据Angular中的下拉列表选择显示一个值。我正在使用ng-options并认为简单的数据绑定应该可行,但数据绑定没有显示出来。这是一个掠夺者:http://plnkr.co/edit/IptAt3e5EZi15OObfWFr?p=preview

      <select ng-model="defcom"
        ng-options="opt.DefCom as opt.DefCom for opt in acct_info | filter:{Req:'MUST'}:true" >
      </select>
      <select ng-model="defcust"
        ng-options="opt.Customer as opt.Customer for opt in cust_info | filter: {Com: defcom}: true">
      </select>
      <p>{{ cust_info.Name }}</p>

在控制器中:

$scope.cust_info = [
      {
        "Customer": "1",
        "Com": "1",
        "Name": "First Name"
      },
      {
        "Customer": "2",
        "Com": "1",
        "Name": "Second Name"
      },
      {
        "Customer": "3",
        "Com": "4",
        "Name": "Third Name"
      }];

3 个答案:

答案 0 :(得分:0)

在这一行:

{{cust_info.Name}}

你试图错误地引用Name,你有一个对象数组,每个对象都有Name因此不起作用。

将其更改为:

{{cust_info[defcust - 1].Name}}

-1因为&#34;客户&#34;从1开始而不是0

,您将获得cust_info内的第n个索引,其中第n个索引由用户选择并存储到defcust

http://plnkr.co/edit/WHkijq8ea0ATnO4JXnc9?p=preview

答案 1 :(得分:0)

{{cust_info [defcust-1] .Name}}应按预期工作

答案 2 :(得分:0)

没有使用索引来实现这个需要更多的javascript在那里我猜...我已经添加了一些。希望这有帮助..查看此演示

<select ng-model="defcom" ng-change="change_acc(defcom)"
    ng-options="opt.DefCom as opt.DefCom for opt in acct_info | filter:{Req:'MUST'}:true" >
  </select>
  <select ng-model="defcust" ng-change="change_cust(defcust)"
    ng-options="opt.Customer as opt.Customer for opt in cust_info | filter: {Com: defcom}: true">
  </select>

http://plnkr.co/edit/pf6PtOWANfLxulQupqZq?p=preview