簡體   English   中英

使用外部數據集和數據渲染時的標簽問題,使用數據表

[英]Problem with tags when using external dataset and data-render, using datatables

我有一個項目,我在其中使用 DataTables 和 yadcf。 到目前為止,我在生成 DOM 時使用 PHP 來填充表。 現在我想使用 AJAX 來填充表格,它工作正常,只是它破壞了 yadcf“標簽”功能。 如果我想讓它工作,我需要通過 AJAX 發送完整的 HTML 格式的標簽列表。 我希望它只將標簽作為數組發送,並使用 DataTables 中的“渲染”函數將它們轉換為單個 DOM 元素。

我曾嘗試在 yadcf 的“column_data_type”中同時使用“html”和“rendered_html”,但沒有任何效果。

var dataset = [{"name":"B. Gates", "tags":["js", "css", "asp"]},{"name":"S. Jobs", "tags":["js", "css", "php"]}];

var table = $('table').DataTable({
    data: dataset,
    columns: [
        {"data": "name"},
        {
            "data": "tags",
            "render": function(data, row, type){
                var tags = '';
                for (i=0; i<data.length; i++)
                {
                    tags += '<span class="badge badge-secondary">' + data[i] + '</span>&nbsp;';
                }
                return tags;
            }
        }
    ]
});

yadcf.init(table, [
    {
        column_number : 1,
        column_data_type: "rendered_html", //html
        html_data_type: "text",
        filter_default_label: "Select tag"
    }
]);

我在這里做了一個小提琴示例: https : //jsfiddle.net/majbom/3d4npzsr/1/

在“column_data_type”中使用“html”時,填充表格后標簽列表保持為空。 當我使用“rendered_html”時,我會得到一個列表,其中包含表中標記的所有表示組合。 我想要的是表格中所有代表標簽的列表。

提前致謝 :)

您應該在該列的 yadcf init 中使用text_data_delimiter: String.fromCharCode(160) ,使用String.fromCharCode(160)的原因是因為&nbsp; 被用作字符串中的分隔符(而不是正常的 空間

像這樣

yadcf.init(table, [
    {
    column_number : 1,
    column_data_type: "rendered_html", //html
    html_data_type: "text",
    filter_default_label: "Select tag",
    text_data_delimiter: String.fromCharCode(160)
  }
]);

https://jsfiddle.net/wcbkzxnt/1/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM