Javascript 如何在if语句中显示图标?

Javascript 如何在if语句中显示图标?,javascript,laravel,laravel-5,datatables,Javascript,Laravel,Laravel 5,Datatables,如果key_product的值等于1,我尝试显示一个图标 这是我试过的控制器 return DataTables::of($products) ->editColumn('key_product', function ($row) { if('key_product' == 1){ '<class="btn btn-info btn-circle"><i class="fa fa-pencil"></i&

如果key_product的值等于1,我尝试显示一个图标

这是我试过的控制器

return DataTables::of($products)

->editColumn('key_product', function ($row) {
           if('key_product' == 1){
                '<class="btn btn-info btn-circle"><i class="fa fa-pencil"></i>';
           }
            return ucfirst($row->key_product);
        })    

我没有收到任何错误,但仍然得到数据库值而不是图标。

您缺少html内容的返回语句,html内容将被转义,因此您必须将列添加到原始列中

从:

默认情况下,Laravel DataTables通过转义来保护我们免受XSS攻击 我们所有的产出。如果要呈现html内容, 请使用rawapi

大概是这样的:

return DataTables::of($products)
    ->editColumn('key_product', function ($row) {
        if ($row->key_product == 1) {
            return '<button class="btn btn-info btn-circle"><i class="fa fa-pencil"></i></button>';
        }
        return ucfirst($row->key_product);
    })
    ->rawColumns(['key_product']);

不太熟悉Laravel,但看起来你对``什么也没做。您不需要返回/分配它吗?请尝试了解“密钥产品”==1{非常感谢您的回复。现在只返回if语句中的html而不是图标。我更新了我的答案,html不完整。我在图标周围添加了一个按钮,因为它是无效的html。谢谢,但仍然不起作用。它在表中显示html代码,而不是图标。我添加了我看到的图像。您添加了吗将产品添加到原始列中?