2

JSON ファイルから生成された jQuery DataTable があります。すべて正常に動作しますが、条件付き書式に関しては行き詰まります。次のスクリプトは、列 2 のすべてのセルに「正の」クラス (負の整数も含む) を与えます。if ステートメントの何が問題になっていますか?

 "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
      if ( parseFloat(aData[1]) <= 0 ) {
         jQuery('td:eq(1)', nRow).addClass('negative');
      } else {
         jQuery('td:eq(1)', nRow).addClass('positive');
      }
      return nRow;
}

前もって感謝します!

編集:JSONファイルの一部(私が参照している番号は「punten」です:

[
    {
        "spel_id": "2012-09-24 15:43:56",
        "locatie": "white room",
        "speler": "Arne",
        "punten": "17"
    },
   {
        "spel_id": "2012-09-24 15:43:56",
        "locatie": "white room",
        "speler": "Bjorg",
        "punten": "26"
    }
]

そしてテーブルを生成するための私のjs(DataTablesを使用):

$(document).ready( function() {
        var oTable = $('#example').dataTable( {
            "sAjaxSource": "json_gespeeldekaartings.php",
            "aoColumns": [
              { "mData": "kaarting"},
              { "mData": "speler" },
              { "mData": "punten"}
            ],
            "sAjaxDataProp": "",
            "sPaginationType": "full_numbers",
            "aaSorting": [],
            "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
                if ( parseFloat(aData[1]) <= 0 ) {
                    jQuery('td:eq(1)', nRow).addClass('negative');
                } else {
                    jQuery('td:eq(1)', nRow).addClass('positive');
                }
                return nRow;
                }
            } )
        } );
4

1 に答える 1

0

の中で

if ( parseFloat(aData[1]) <= 0 ) {

使用する

if ( parseFloat(aData.punten <= 0 )

EDIT これを試してください:

この例では、fnRowCallback を削除して mRender を使用します。

...
"aoColumns": [
              { "mData": "kaarting"},
              { "mData": "speler" },
              { "mData": "punten",
                "sType": "numeric",
                "mRender":  function ( data, type, full ) {
                      if(data > 0) return "<div class='positive'>" + data + "</div>"; // example
                      return "<div class='negative'>" + data + "</div>";              // example
                 }
              }
            ],
...
于 2012-10-26T08:00:30.693 に答える