knockout - выполнить код после отображения последнего элемента

я использую jquery quicksearch для поиска таблицы, которая заполняется циклом knachout foreach. элемент quicksearch должен быть инициированпосле окончания foreach, Я'Мы пробовали несколько подходов, но пока не увенчались успехом.

мы пытаемся использоватьafterRender», но не смог определить, является ли текущий элемент последним в коллекции, яМы также пытались использовать bindingHandlers, но затем я получил коллекцию длины 0 вместо длины 2005.

так:

какие'лучший способ найти последний элемент в цикле foreach?какие'лучший способ реализовать это в этом конкретном сценарии?

Вот'С моей точки зрения:

    
        
            <span data-bind="text: code"></span>
            <span data-bind="text: typeName"></span>
            <span data-bind="text: parentClient"></span>
            <span data-bind="text: client"></span>
            
                <a data-bind="attr: { onclick: deleteUrl }">
                    @delete </a>
                |
                <a data-bind="attr: { href: editUrl }">
                    @edit</a>
                |
                <a data-bind="attr: { href: qrUrl }" target="blank">
                    
                    @printQr
                </a>
            

        
    

и здесь'мой код нокаута:

function Container(data) {
        var self = this;
        self.id = ko.observable(data.Id);
        self.code = ko.observable(data.Code);
        self.typeName = ko.observable(data.TypeName);
        self.parentClient = ko.observable(data.ParentClient);
        self.client = ko.observable(data.Client);
        self.deleteUrl = ko.computed(function () {
            return "GetModal('/Containers/Delete/" + data.Id + "','containerModal');";
        });
        self.editUrl = ko.computed(function () {
            return '/Containers/Edit/' + data.Id;
        });

        self.qrUrl = ko.computed(function () {
            return '/Qr/Index/10?entity=' + data.Id;
        });
    }
 function ContainersViewModel() {
        var self = this;
        self.containers = ko.observableArray([]);
        self.counter = ko.computed(function () {
            return self.containers().length;
        });

        $.getJSON("/Containers/Json", function (data) {
            var containers = $.map(data, function (item) {
                return new Container(item);
            });

            self.containers(containers);
        });

    };
    ko.applyBindings(new ContainersViewModel());

Большое спасибо !

Nir

Ответы на вопрос(5)

Ваш ответ на вопрос