2016-08-03 88 views
0

該表具有通過數據表的分頁和排序功能,但css沒有被應用。我正在使用rails 4.2。DataTables CSS不適用於表

我把我所有的css和圖像文件分別加載到vendor/assets/stylesheets和images。

我使用較少的樣式表。 我導入的數據表CSS在application.less

... 
@import "dataTables.bootstrap.css"; 
@import "jquery.dataTables.css"; 

表的數據由Ajax和數據表裝在阿賈克斯成功初始化。

LeaderBoards.prototype.updateResults = function() { 
    var valuesToSubmit = $(this.form).serialize(); 
    var that = this; 
    $.ajax({ 
     url: $(this.form).attr('action'), 
     type: "GET", 
     data: valuesToSubmit, 
     dataType: "html" 
    }).success(function(response){ 
     that.resultBox.html(response); 
     $('#leaderboard-table-test').DataTable({ 
      searching: false, 
      "iDisplayLength": 3, 
      "bLengthChange": false 
     }); 
    }).error(function(){ 
     var text = I18n.t('leaderboards.index.no_results_found'); 
     that.resultBox.html('<div class="no-results-found">'+ text +'</div>'); 
    }); 
}; 

這裏是一個表,我想的一個例子:

<table id="table_id" class="display"> 
    <thead> 
    <tr> 
     <th>Column 1</th> 
     <th>Column 2</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <td>Row 1 Data 1</td> 
     <td>Row 1 Data 2</td> 
    </tr> 
    </tbody> 
</table> 

我可以看到被加入到這個數據表類的正裝表後。 例如,它被包裹一個div內:

<div id="#table_id_wrapper" class="dataTables_wrapper form-inline dt-bootstrap no-footer"> 

在application.css,我看到我的數據表CSS進口@import語句,但不包含CSS本身的數據表。

+0

你看到編譯過的'main.css'中的數據表代碼嗎? – Polyov

+0

@Polyov我添加了一些更多的信息來解決您的評論。 – Kaitrono

+1

如果代碼沒有出現在'application.css'中,那麼它沒有被正確導入。嘗試['@ import'語句](http://sass-lang.com/guide)的一些不同的路徑或格式。 – Polyov

回答

0

我能弄清楚這個問題。懷疑DataTables CSS文件沒有正確導入。訣竅是強制他們被解釋爲更少的文件,而不是常規的CSS。

我將我的導入聲明更改爲@import (less) "jquery.dataTables.css";,並且它已正確加載。
感謝Polyov幫助我得出這個結論。