2014-08-28 25 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); 

希望它有帮助!

相关问题