无法识别 Javascript 条件格式

标签 javascript jquery json datatables

我有一个从 JSON 文件生成的 jQuery 数据表。一切正常,但在条件格式方面,我被卡住了。以下脚本为第 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
                 }
              }
            ],
...

关于无法识别 Javascript 条件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13082724/

相关文章:

javascript - 为什么会触发我的 KnockoutJS 自定义绑定(bind)?

jQuery 检查两个密码是否匹配

jQuery Mobile - 无法将 pagebeforechange 绑定(bind)到页面 id?

javascript - Emberjs 自定义配置变量

asp.net - 带有 ajax 和 json 数据的 Highcharts 我做错了什么?

javascript - 将一个 React 组件指定为另一个组件的 defaultProp

javascript - .getElementById IE

javascript - 如何导入已经导入另一个文件的文件?

javascript - 在外部点击时禁用关闭模式

javascript - 如何保护前端免受由 REST API 数据引起的 XSS 影响?