2015-10-28 49 views
0

我使用javascript將json從cartodb轉換爲HTML表格。現在我正在嘗試使用Table sorter Jquery Plugin來製作一個可排序的表格。我用的tablesorter在我的代碼,但我couldnot能夠得到在result.Below任何排序是我的代碼,使用tablesorter jquery插件排序HTML表格

<!DOCTYPE html> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script> 
    <script src="js/jquery.tablesorter.js"></script> 
    <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
    <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" /> 
    <link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.9/css/jquery.dataTables.css"> 
    <style> 
     canvas { 
      height: 400px; 
      margin: 5px; 
      width: 1500px; 
     } 

    </style> 
</head> 
<body> 
    <div id="excelDataTable"> 
    </div> 


    <script> 
     $(function() { 
        data2 = "carto"; 
        json_link = 'http://development.localhost.lan:8080/api/v2/sql?q=SELECT * FROM ' + data2; 
        $.getJSON(json_link, function (result) { 
         var th_main = ""; 
         for (var e in result['fields']) { 
          th_main = th_main + '<th>' + e + '</th>'; 
         } 
         var table_header = '<thead>' + 
            '<tr>' + 
            th_main + 
           '</tr>' + 
           '</thead>'; 
         var body_main = ""; 
         for (var i = 0; i < result['rows'].length; i++) { 
          var tr = "<tr>"; 
          for (var ele in result['rows'][i]) { 
           tr = tr + '<td>' + result['rows'][i][ele] + '</td>'; 
          } 
          var tr = tr + "</tr>"; 
          body_main = body_main + tr; 
         } 
         var table_body = '<tbody>' + body_main + '</tbody>'; 
         var table = "<table class='table table-bordered table-hover table-condensed table-striped'>" + table_header + table_body + "</table>"; 
         $("#excelDataTable").html(table); 
         $(document).ready(function() { 
          $("#excelDataTable").tablesorter(); 
         } 
           ); 



     }); 
    } 
         } 
      ); 
     }); 

</script> 


</body> 

enter image description here

回答

0

有一對夫婦的事情,可能會導致您的問題:

首先,您在到jQuery UI的鏈接中存在錯誤 - 您錯過了http:

其次,您的腳本在第57行有語法錯誤 - 還有一個額外的}

如果您檢查瀏覽器控制檯,它會告訴你這些事情。

最後,你需要調用.tablesorter()像這樣(見我的更多細節最後的評論):

$("#excelDataTable > table").tablesorter();

+0

我又增加了丟失的HTTP:和也被刪除了額外}。但我仍然可以在瀏覽器中顯示錶格,但不能使用排序功能。 – harinish

+0

它現在做了什麼?控制檯上是否有消息?也許你可以用你的AJAX調用返回的JSON樣本來編輯帖子。 –

+0

控制檯中未顯示任何錯誤。我已經在瀏覽器中將我的結果表格上傳爲快照。 – harinish