2015-12-31 136 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