Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Datatables从解析的json更改文本颜色_Jquery_Json_Datatables - Fatal编程技术网

Jquery Datatables从解析的json更改文本颜色

Jquery Datatables从解析的json更改文本颜色,jquery,json,datatables,Jquery,Json,Datatables,我正在尝试使用某些已解析的json数据更改行的文本颜色。 如果状态为真,则文本颜色应为红色。我尝试使用rowCallback,但它将所有行变为红色 这是我试过的 $('#tbldata').dataTable({ "data": jQuery.parseJSON(data.d), "columns": [ { "data": "user"}, { "data&

我正在尝试使用某些已解析的json数据更改行的文本颜色。 如果
状态
,则文本颜色应为
红色
。我尝试使用
rowCallback
,但它将所有行变为红色

这是我试过的

$('#tbldata').dataTable({
"data": jQuery.parseJSON(data.d),
"columns": [
            { "data": "user"},
            { "data": "userseries"},
            { "data": "invoice"}
        ],
        "ordering": true,
        "info": false,
        "searching": false,
        "bStateSave": true,
        "sDom": 'Rfrtlip',
        "rowCallback": function (row, data, index) {
         if (status= True) {
             $('td', row).css({ color: "red" });
         }
    });
这是我的json对象:

{
  "data": [
    {
      "user": All,
      "userseries": "6395637",
      "invoice": 200,
      "status": True
    },
    {
      "user": Bll,
      "userseries": "9473650",
      "invoice": 180,
      "status": False
    }
  ]
}
请注意:

  • 您的JSON示例不是有效的JSON
  • 我假设一个条目,例如
    “user”:Bll
    应该是
    “user”:“Bll”

    “状态”:True
    也无效。如果JSON实际上包含
    “status”:“True”
    ,那么您需要使用
    If(data.status=='True'){…}

    如果JSON实际上包含
    “status”:true
    ,请参见下面的示例

  • 如果您已经向DataTable提供了(有效的)JSON,那么您不需要重新解析它-因此您不需要
    jQuery.parseJSON()

  • 您的行回调代码中缺少
    }

  • 我建议您使用现代选项名称(例如
    dom
    而不是
    sDom
    )。但是,旧名称仍然有效-因此这是可选的

  • 下面是一个显示上述所有要点的示例。在我的示例中,我提供了一些嵌入式测试数据——显然,为了使用数据源,您必须更改这些数据

    单击下面的蓝色“运行”按钮查看结果:

    var数据集={
    “数据”:[
    {
    “用户”:“全部”,
    “用户系列”:“6395637”,
    “发票”:200,
    “状态”:正确
    },
    {
    “用户”:“Bll”,
    “用户系列”:“9473650”,
    “发票”:180,
    “状态”:错误
    }
    ]
    };
    $(文档).ready(函数(){
    $('#tbldata')。数据表({
    “数据”:dataSet.data,
    “栏目”:[
    {“数据”:“用户”、“标题”:“数据”},
    {“数据”:“用户系列”,“标题”:“用户系列”},
    {“数据”:“发票”,“标题”:“发票”}
    ],
    顺序:对,
    信息:错,
    搜索:假,
    stateSave:没错,
    dom:'Rfrtlip',
    rowCallback:函数(行、数据、索引){
    if(数据状态){
    $('td',row).css({color:“red”});
    }
    }
    });
    } );
    
    
    演示
    
    一些注意事项:

  • 您的JSON示例不是有效的JSON
  • 我假设一个条目,例如
    “user”:Bll
    应该是
    “user”:“Bll”

    “状态”:True
    也无效。如果JSON实际上包含
    “status”:“True”
    ,那么您需要使用
    If(data.status=='True'){…}

    如果JSON实际上包含
    “status”:true
    ,请参见下面的示例

  • 如果您已经向DataTable提供了(有效的)JSON,那么您不需要重新解析它-因此您不需要
    jQuery.parseJSON()

  • 您的行回调代码中缺少
    }

  • 我建议您使用现代选项名称(例如
    dom
    而不是
    sDom
    )。但是,旧名称仍然有效-因此这是可选的

  • 下面是一个显示上述所有要点的示例。在我的示例中,我提供了一些嵌入式测试数据——显然,为了使用数据源,您必须更改这些数据

    单击下面的蓝色“运行”按钮查看结果:

    var数据集={
    “数据”:[
    {
    “用户”:“全部”,
    “用户系列”:“6395637”,
    “发票”:200,
    “状态”:正确
    },
    {
    “用户”:“Bll”,
    “用户系列”:“9473650”,
    “发票”:180,
    “状态”:错误
    }
    ]
    };
    $(文档).ready(函数(){
    $('#tbldata')。数据表({
    “数据”:dataSet.data,
    “栏目”:[
    {“数据”:“用户”、“标题”:“数据”},
    {“数据”:“用户系列”,“标题”:“用户系列”},
    {“数据”:“发票”,“标题”:“发票”}
    ],
    顺序:对,
    信息:错,
    搜索:假,
    stateSave:没错,
    dom:'Rfrtlip',
    rowCallback:函数(行、数据、索引){
    if(数据状态){
    $('td',row).css({color:“red”});
    }
    }
    });
    } );
    
    
    演示
    
    maaybe
    if(status==True){…
    ?…maaybe
    if(status==True){…
    ?…感谢您的详细解释。您的代码片段工作感谢您的详细解释。您的代码片段工作正常