2015-12-31 134 views
0

我有两个对象 - OrderCustomer。现在我想编辑OrderOrder有两个来自Customer对象的文件。我想选择的选项,显示的Customers名单:为选择输入设置选定值

select(ng-model="customer" 
     ng-options="customer.description for customer in vm.customers" 
     ng-change="vm.setCustomer(customer)") 

这里是setCustomer()方法控制器:

setCustomer = function(customer) { 
    this.currentOrder.customerId = customer.autoincrementedId; 
    this.currentOrder.customerDescription = customer.description; 
} 

这就是工作。我可以从列表中选择Customer,并填写我的currentOrder对象中的两个字段。

但是,当我加载页面时,我的选择控件是空的,即使我在我的Order中填充了customerIdcustomerDescription。我明白,原因是customer是空的,但我不知道什么是解决它的最好方法。

我在打开页面时如何填写select

+0

小心使用'this'里面的函数,应该存储一个参考 – charlietfl

回答

2

使用ngOptionsvalue as text for obj in arr语法 - 然后设置ngModelvalue

select(ng-model="customer" 
    ng-options="customer.autoincrementedId as customer.description for customer in vm.customers" 
    ng-change="vm.setCustomer(customer)") 

并设置this.customer你想要默认选择客户的autoincrementedId

+0

在这种情况下,我只传递'id'到我的函数'vm.setCustomer(customer)'并且不能设置它的第二个字段。我可以通过'id'在我的收藏中找到'Customer',但可能有更好的方法吗? – demas

+0

@demas - 我更新了使用'autoincrementedId'(以前没有看到)的答案 - 在加载时 - 将'this.customer'指定为您希望选择的'autoincrementedId'。 – tymeJV