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 に答える