【问题标题】:Displaying Rating star from Data-table column render is not working从数据表列渲染显示评级星不起作用
【发布时间】:2018-04-27 12:56:55
【问题描述】:

出于某些原因,我使用了服务器端数据表,我试图从其中一列中显示评级星,所有数据都正确显示,

这是我的 .js 代码

$(document).ready(function(){
    table = $('.dataTables-example').DataTable({ 
        "serverSide": true,
        "ajax": {
            "url": "<?php echo base_url('admin/Review/get_Data')?>",
            "type": "POST"
        },
        "columns": [
            { "data": "review_id", "name":"review_id"},
            { "data": "hotel_name", "name":"hotel_name"},
            { "data": "review_by", "name":"review_by"},
            { "data": "review_title", "name":"review_title"},
            { "data": "review_desc",
                "render":function(data, type, row){
                    var review = row.review_desc;
                    var id = row.review_id;
                    if(row.review_desc.length > 50) {
                        var desc = '<div class="showbox">'+review.substring(0, 50)+'</div><span class="'+id+'more" style="display:none;">'+review.substring(50)+'</span><br><span onclick="see_more('+id+')" class="'+id+'readmore" style="color:red; cursor:pointer;">See More</span><span class="'+id+'nomore" onclick="nomore('+id+')" style="color:red;display:none; cursor:pointer;">See Less</span>'; 
                    }
                    else{
                        var desc = review;
                    };
                    return desc; 
                },searchable: false, sortable: false
            },
            { "data": "created_at",
                render: function(created_at){
                    return moment(created_at).format("DD/MM/YYYY HH:mm A");
                }
            },
            { "data": "rating_star",
                render: function(rating_star){
                    return '<div class="star_rating_customer_reviews"><input value="'+rating_star+'" type="number" class="rating" min=0 max=5 step=0.1 data-size="sm" data-stars="5" href="#" readonly="true"></div>';
                }, searchable: false, sortable: false
            }
        ],
        "order": [ 0, 'desc' ],
        "columnDefs": [
            {
                "targets": [ 0 ],
                "visible": false,
                "searchable": false
            }
        ]
    });
});

在这里,我正在尝试显示列 rating_star 中的评级星,外部评级 css 和 js 未应用,它显示如下,

查看显示输入字段的 rainings 列, 我已经在html中完成了,

<div class="star_rating_customer_reviews"><input value="1" type="number" class="rating" min=0 max=5 step=0.1 data-size="sm" data-stars="5" href="#" readonly="true"></div>

它完美地显示在选择的记录数上方以显示下拉菜单。看起来外部脚本没有从数据表列访问。 我被困在这了,

       { "data": "rating_star",
            render: function(rating_star){
                return '<div class="star_rating_customer_reviews"><input value="'+rating_star+'" type="number" class="rating" min=0 max=5 step=0.1 data-size="sm" data-stars="5" href="#" readonly="true"></div>';
            }, searchable: false, sortable: false
        }

请帮帮我, 使用 ajax 数据表:- datatables.net

我使用的评分插件是:- star rating

【问题讨论】:

    标签: jquery ajax codeigniter datatables rating


    【解决方案1】:

    你可以试试这样的:

     columns:..,
     order: ...,
     createdRow: function (row, data, dataIndex) {
    
                                // any manipulation in the row element
                               var ratingInput = $(row).find('.rating');
                               $(ratingInput).rating();
    
                            }
    

    【讨论】:

    • Wowwww,它的工作兄弟.. 我被吓坏了 :) 我已经搜索了所有地方但一无所获.... thnx 很多兄弟...
    • 你好兄弟。快乐编码:) @Rits
    • 但是我到处都找不到,你在哪里找到这个??还有其他方法吗?我想知道
    • 我从这里得到了这个想法:datatables.net/examples/advanced_init/row_callback.html@Rits
    猜你喜欢
    • 2018-09-06
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多