我正在尝试对程序列表进行排序,首先列出“已检查”或包含的程序。但是,我很难使用bootstrap并在页面加载时获取方法。这是一个.jsp文件,并使用主干和引导程序。
这是我现有的功能,它可以正常工作,但只有点击了排序按钮。
onSortCheckedClick:function(e){ e.preventDefault(); var anchor = $(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);
},
以下是已注册的事件监听器。在呈现程序列表时,调用上述方法的最佳方法是什么?
谢谢!
答案 0 :(得分: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的调用。
在main html文件上调用ready函数(或将其包含在主html文件中)。