2014-08-28 40 views
0

我目前有一個生成按鈕,單擊時會執行。然後它通過數據庫並花費大量時間將結果加載到表中。我的代碼行用於排序表。我的問題是,我認爲在生成表之前正在運行排序,因此表未被排序。我意識到,當我在分類線上放置一個斷點並等待表加載時,就會發生排序。就在我沒有斷點時,表格沒有被排序。反過來我決定使用windows.onload函數。但是這並沒有幫助,我仍然收到了和以前一樣的功能。如何等待按鈕生成然後執行下一行代碼

document.getElementById("button").click(); 

     if(arrow == "up") 
     { 
      window.onload = function() 
      { 
       sort("col_one"); 
      } 
     } 

正如你所看到的按鈕被編程式按下然後排序發生。我不知道如何去解決這個問題。我正在避免使用jquery。

+0

您對'window.onload'的使用是多餘的 - 如果您試圖在看起來未定義的if語句中觸發該函數,只需調用它即可。當'window'加載時使用'window.onload'運行該函數。 – 2014-08-28 15:32:14

回答

0

我在加載一次本地文件時遇到了同樣的問題。

我真的不明白你說的是什麼表格,但是如果它來自<input type="file" id="fileInput">,我相信這會起作用=) var data; 函數readFile(evt)var f = evt.target.files [0];

   if (f) { 
        var r = new FileReader(); 
        // When the file has been correctly loaded 
        r.onload = function (e) { 
         // We store the result in global var 
         data = r.result; 

         /* HERE YOU CAN DO YOUR SORTING JOB    */ 
         /* Your table is stored in data as a big string */ 
        } 

        // We have to precise the type of data we want to have in the end. 
        r.readAsBinaryString(f); 

       } else { 
        alert("Failed to load file"); 
       } 
      } 


document.getElementById('fileInput').addEventListener('change', readSingleFile, false); 

希望它有幫助!

相關問題