0

我正在使用Datatables以表格形式显示数据。我正在使用jQuery Raty 库在一列中显示 5 颗星。

问题是:在第一页上,Raty 库有效(因为存在 DOM 元素),但是当我在 Datatables 中分页、排序或选择页面大小时,图片中出现了以前不存在的新记录并且 Raty 不存在隐式工作。

我需要再次调用 Raty 进行分页、排序等操作。我该怎么做?有没有更好的方法来解决这个问题?

请帮助和指导。

编辑:

这是我的数据表初始化:

$('#mydatatable').dataTable({
            "sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
            "sPaginationType": "bootstrap",
            "oLanguage": {
                "sLengthMenu": "_MENU_ records per page",
                "oPaginate": {
                    "sPrevious": "Prev",
                    "sNext": "Next"
                }
            }
        });

而 Raty lib init 如下:

$('.star').raty({ 
                readOnly: true,
                score: 3.26
                });

在 HTML 标记中,比率列如下所示:

<td><div class="star" ></div></td>

where 只是 Datatables 中的另一列。

4

1 回答 1

1

可以尝试数据表中的fnDrawCallback吗?在此处查看它的使用情况:http: //live.datatables.net/#preview

虽然,这会在搜索期间的每次键入时发生,这可能会使您的应用程序变慢。

IE

$('#mydatatable').dataTable({
    "sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
        "sPaginationType": "bootstrap",
        "oLanguage": {
        "sLengthMenu": "_MENU_ records per page",
            "oPaginate": {
            "sPrevious": "Prev",
                "sNext": "Next"
        }
    },
        "fnDrawCallback": function (oSettings) {
// I would suggest adding some code here to conditionally check if it hasn't already
// been initialised on a particular .star element
        $('.star').raty({
            readOnly: true,
            score: 3.26
        });
    }
});
于 2013-03-02T15:17:38.913 回答