我有一个从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;
                }
            } )
        } );

最佳答案



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
                 }
              }
            ],
...

09-11 16:44