1

私はこのレイルキャストをここで見ました

そのエピソードでは、Ryan ベイツがデータ値を示しています。JSONデータをブラウザに送信するための別のクラスを作成します。私も同じことをしました。ただし、すべての要素を取得する代わりに、テーブルにもチェック ボックスを追加したいと考えています。私は同じことをするために多くの異なる方法を試しました。ただし、チェック ボックスはデータ テーブル列には表示されません。表示されるのは、チェックボックスに対応する「true」または「false」の値だけです。

この質問を datatables フォーラムに投稿しましたが、非常に役立つ回答がありませんでした。

サーバー側のクラスのコードは次のとおりです。

class ListingsDatatable
  delegate :params, :h, :link_to, :number_to_currency, to: :@view

  def initialize(view)
    @view = view
  end

  def as_json(options = {})
    {
      sEcho: params[:sEcho].to_i,
      iTotalRecords: Listing.count,
      iTotalDisplayRecords: listings.total_entries,
      aaData: data
    }
  end

private

  def data
    listings.map do |listing|
      [
        h(listing.id),
        link_to(listing.name, listing),
        h(listing.telephone),
        h(listing.fax),

        #This is the code I tried but no checkboxes, instead
        # if the following is included then no data shows in the table
        #check_box_tag('checked?', listing.checked),
        #check_box_tag('collected', listing.collected),
        #check_box_tag('digitized', listing.digitized),
        #check_box_tag('in db?', listing.in_database)

        #if I include the following, 
         #these are boolean values stored in the listings table
        #which generate "true" or "false" in the columns. This works to show the boolean    values. Checkboxes dont.   
        h(listing.keep),
        h(listing.checked),
        h(listing.collected),
        h(listing.digitized),
        h(listing.in_database)
      ]
    end
  end

  def listings
    @listings ||= fetch_listings
  end

  .........

ここに index.html.erb ファイルがあります

<h3><%= link_to 'Click here to create a new Listing', new_listing_path %></h3>

<table id="listings" class="display" data-source="<%= listings_url(format: "json")%>">
<thead>
  <tr>
  <th>id</th>
  <th>name</th>
  <th>telephone</th>

  <th>Keep this listing?</th>
  <th>Checked</th>
  <th>Collected?</th>
  <th>Digitized?</th>
  <th>in DB?</th>
  </tr>
</thead>

<tbody>

</tbody>
</table>

<br />

ここにJavascriptファイルのlistings.jsがあります

//#JQuery

//Initialize the datatable
$(document).ready(function()
{
  var oTable = $('#listings').dataTable(
  {
    "sPaginationType":  "full_numbers",
    "bJQueryUI": true,
    "bSortClasses": false,
    "sScrollX": "90%",
    "bScrollCollapse": true,
    "sDom":  '<"top"iflp<"clear">>rt<"bottom"iflp<"clear">>',
    "bProcessing": true,
    "bServerSide": true,
    "sAjaxSource": $('#listings').data('source')
  });
});

チェックボックスをそれらの列に表示する方法を理解するのを手伝ってくれませんか

どうもありがとう。

4

2 に答える 2

1

そのため、datatables.net でこれを機能させる方法がわかりませんでした。ドキュメントがあいまいです。ただし、データテーブルjqueryを無料のオプションとして提供しているため、これは設計によるものである可能性があることに気付きましたが、商用製品である編集可能なデータテーブルがあります。私はこれを機能させることができなかったので、4 時間で独自の編集可能なテーブルを実装することにしました。データテーブルを使用しなくなりました

于 2012-06-13T23:26:33.230 に答える
0

dataTables の使用を再検討する必要がありますが、このリンクを確認してください --> http://www.javascriptsource.com/forms/check-all.html

私は現在、私が取り組んでいるサイトでコードを使用しています www.demo.welllocators.com/search2.php

于 2012-06-16T04:29:14.620 に答える