[英]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> ';
}
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)
的原因是因為
被用作字符串中的分隔符(而不是正常的
空間
像這樣
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)
}
]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.