0

我正在尝试对程序列表进行排序,首先列出“已检查”或包含的程序。但是,我很难使用引导程序并在页面加载时获取要调用的方法。这是一个 .jsp 文件并利用主干和引导程序。

这是我现有的功能,它可以正常工作,但前提是单击排序按钮。

onSortCheckedClick : function(e) { e.preventDefault(); var 锚点 = $(e.currentTarget);

            var li = anchor.parent("li.sortChecked");
            if (li.hasClass("active")) {
                return;
            }

            var sortDirectionOrder = anchor.attr("data-direction");
            var sortDirectionColumn = anchor.attr("data-sortByCheck");
            var attributesNames = sortDirectionColumn.split('.');

            var sortedPrograms = this.programs.sortBy(function(program) {
                var answers = program.toJSON();

                var unChecked = new Array();

                var selectAnswers, unselectAnswers;
                if(answers.selected === true){
                    selectAnswers = answers;
                }else if(answers.selected === false){
                    unselectAnswers = answers;
                }

                return unselectAnswers;
            });

            if (sortDirectionOrder === 'asc') {
                sortedPrograms.reverse();
            }

            this.$("thead li.sortChecked").removeClass("active");
            li.addClass("active");
            this.programs.reset(sortedPrograms);
        },

这里是注册的事件监听器。呈现程序列表时调用上述方法的最佳方法是什么?

谢谢!

4

1 回答 1

0

呈现页面后,您可以调用该函数。

$(document).ready(function(){
//Call your function here
//It is assumed your the list of programs are rendered on page load
//-- Otherwise --
// Call renderProgram() and then call or add event listeners to onSortCheckedClick()
});

在 renderProgram() 完成后,您可以使用 jQuery 延迟对象来处理 onSortCheckedClick 的调用。

在主 html 文件上调用 ready 函数(或将其包含在主 html 文件中)。

于 2013-04-05T17:35:59.373 回答