2013-04-04 82 views
0

我在嘗試對程序列表進行排序,首先列出「已檢查」或包含的程序。但是,我在引導時遇到困難,並在頁面加載時調用方法。這是一個.jsp文件並利用主幹和引導。BootStrap/JQuery在頁面加載或渲染時調用方法

這是我現有的功能,它工作正常,但只有當點擊排序按鈕。

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

「程序列表」是骨幹視圖嗎? – 2013-04-04 11:39:57

回答

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() 
}); 

您可以使用一個jQuery Deferred對象來處理renderProgram後onSortCheckedClick()已完成的呼叫。

在主html文件上調用ready函數(或將其包含在主html文件中)。

相關問題