2012-07-23 92 views
0

我有以下KnockoutJS代碼爲了使地址表單編輯器的數據綁定,我可以有4種地址類型(「家」,「辦公室」等)。敲除綁定 - 選擇第一個填充對象

http://jsfiddle.net/mxgFQ/1/

現在一切是偉大的工作,但selectedAddress被硬編碼爲索引0

self.selectedAddress = ko.observable(self.addresses[0]); 

而不是做這個,我想選擇有數據填充第一個地址對象。

有關如何做到這一點的任何線索?

欣賞。

+0

你怎麼想確定「在他們中有數據」?基於Address1(或其他單個字段),任何字段或每個字段? – Tyrsius 2012-07-23 20:18:42

+0

Address1是完美的。是最重要的一個。謝謝!! – VAAA 2012-07-23 20:58:07

回答

1

淘汰賽的效用函數提供了非常convienent arrayFirst功能,這使得這個簡單:

self.selectedAddress = ko.observable(
     ko.utils.arrayFirst(self.addresses(), function(item) { 
      return item.address1().length > 0; 
     })); 

這裏是updated fiddle

這裏是KO's utility functions一個方便的參考:

+0

非常感謝。也爲便於參考!我會看看並研究一下。欣賞它 – VAAA 2012-07-23 21:43:51