2017-06-05 9 views
0

Ajaxでコールした後、CSSをbootstrap-tableにロードする際に問題が発生しています。Ajaxコール後にブートストラップテーブルcssがロードされない

このテーブルには、イベントが発生クリックごとのAjaxによって自分のビューに追加されますが、ブートストラップ・テーブルのCSSは、それぞれにロードされていない。

<div id="sala_2"> 
    <h3>Sala 2</h3> 
    <table id="tb_sala_2" 
    data-toggle="table" 
    data-toolbar="#toolbar" 
    data-click-to-select="true" 
    data-single-select="true"> 
    <thead> 
     <tr> 
     <th data-field="state" data-checkbox="true" data-halign="center" data-align="center"></th> 
     <th data-field="id" data-halign="center" data-align="center">ID</th> 
     <th data-field="cargo_id" class="hidden_field" data-halign="center" data-align="center">Cargo ID</th> 
     <th data-field="cargo" data-halign="center" data-align="center">Cargo</th> 
     <th data-field="quantidade_de_candidatos" data-halign="center" data-align="center">Quantidade de candidatos</th> 
     </tr> 
    </thead> 
    <tbody> 
     <% i = 0 %> 
     <% @cargos.each do |cargo| %> 
      <tr> 
      <td></td> 
      <td><%= i %></td> 
      <% i = i + 1 %> 
      <td class="hidden_field"><%= cargo.id %></td> 
      <td><%= cargo.nome %></td> 
      <td class="quantidade_de_candidatos"> 0 </td> 
      </tr> 
     <% end %> 
    </tbody> 
</table> 
</div> 

Application.js:

//= require jquery 
//= require jquery_ujs 
//= require bootstrap-table 
//= require turbolinks 
//= require_tree . 

Application.css:

*= require bootstrap-table 
*= require_tree . 
*= require_self 

観察:Whを最初にページが読み込まれると、ブートストラップテーブルCSSが正しく読み込まれました。この問題は、別のテーブルを追加するためにajaxを使用するときに発生します。だから、問題はレールが資産を読み込む方法だと思う。

+0

私は質問に答えていませんが、問題の解決方法を提供しているので、コメントとして残しています。 "datatables"のような宝石を使うことで、ajax経由でテーブルを読み込むのが非常に簡単で効率的です。また、大規模なデータセットでは非常に高速な処理のために、そのままの状態でのServerSide処理が付属しています。 – bkunzi01

+0

私はこれらの宝石について知りませんでした、私はそれについての詳細を取得します。 –

答えて

0

loadCss.js libを非同期で試すことができます。

gitのhttps://github.com/filamentgroup/loadCSS

使用法:、宝石からデフォルトの方法やスタイルそれと

$('#table').bootstrapTable(); 

loadCSS("path/to/mystylesheet.css");

+0

私が言ったように、ページの最初のロードでは、ブートストラップテーブルCSSが動作するので、ブートストラップテーブルCSSがすでに私のファイルにロードされているようです。このJS lib。指定したリンクの説明に従って、後で読み込むファイルのヘッダーにリンクタグを追加するだけです。これは、同じCSSファイルへの参照を2つ持っています。 –

0

私はAjaxの成功の機能で、このメソッドを呼び出して、問題を解決することができました記入されました。

関連する問題