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 )

编辑 试试这个:

删除 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 回答