1

在这里使用联系人编辑器:http: //jsfiddle.net/rniemeyer/gZC5k/

您如何按电话号码本身进行排序?

我想要家庭优先,移动,办公室,传真等......

任何想法将不胜感激。

4

2 回答 2

0

在加载数据并映射到视图模型结构时,我会尝试对它们进行排序。

例如,您可以在此处对每个联系人的电话进行排序:

self.contacts = ko.observableArray(ko.utils.arrayMap(contacts, function(contact) {
    contact.phones.sort(function(a, b) {
        return a.type > b.type ? 1 : -1;   
    });

    return { 
        firstName: contact.firstName, 
        lastName: contact.lastName, 
        phones: ko.observableArray(contact.phones) 
    };
}));

示例:http: //jsfiddle.net/rniemeyer/gZC5k/531/

于 2012-09-25T20:03:44.117 回答
0

扩展 RP 的答案:

您可以将事件处理程序附加到type输入以在更改时移动phone对象type。我使用了线性搜索,但可以随意实现二进制搜索。

修改过的小提琴:http: //jsfiddle.net/zGKM2/

于 2012-09-26T02:14:06.397 回答