0

更新后我需要替换 ko 数组中的一个项目。问题在于我需要旧项目的替换功能。

这是我的功能:

self.saveMarket = function (market) {
    var item = ko.toJS(market);

    $.ajax({
        type: (item.MarketId != "" ? 'PUT' : 'POST'),
        url: url + (item.MarketId != "" ? '?id=' + item.MarketId : ''),
        data: item,
        success: function (data) {
            self.Markets.push(market);
            self.showList();
        },
        error: function (err) {
            alert(err);
        },
    });
}

这应该同时处理插入和更新。插入适用于推送(市场),但如果我进行更新,如何用新项目替换旧项目?

谢谢指教

4

1 回答 1

1

您可能必须遍历您的可观察数组(使用 ko.utils.arrayForEach 或 $.each),找到具有匹配市场 ID 的项目,从数组中删除该元素,然后推送新元素。

于 2013-02-07T21:45:53.640 回答