【发布时间】:2019-12-11 17:45:26
【问题描述】:
我有一个 jQuery 数据表,我正在尝试使用弹出框来显示一些 cmets,但包含单引号的 cmets 会阻止弹出框显示整个评论。
在数据表单元格中,将显示整个评论。不知道为什么弹出框没有显示整个评论。
这是数据表的代码(尽可能简化):
$.ajax({
url: 'process/getTargetSheet.php',
type: 'POST',
data: '',
dataType: 'html',
success: function(data, textStatus, jqXHR){
var jsonObject = JSON.parse(data);
var table = $('#example1').DataTable({
"dom": "Rlfrtip",
"data": jsonObject,
"columns": [
{
"data": "tsc_tgcomment",
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol)
{
var tccomment = oData.tsc_tgcomment;
$(nTd).html("<a tabindex='0' class='tcDisplay'
data-toggle='popover' data-trigger='focus'
data-content='"+tccomment+"' id='tcDisplay'
data-toggle='modal'>"+tccomment.substring(0, 50)+"...</span>");
$(function () {
$('[data-toggle="popover"]').popover();
});
},
// some more columns
}
]
});
},
error: // nothing important here
});
所以在上面的 $(nTd) 部分中,您会看到我在弹出框中添加 tccomment 的位置。但是带引号的字符串无法显示整个评论。
我尝试以这种方式使用“转义”:
data-content='"+escape(tccomment)+"'
但是评论会在弹出框之外打印出来,并且包含一堆百分号。
如何解决此问题以在弹出框中显示整个评论?
【问题讨论】:
-
你的目标不是escape quote in html attribute吗?
标签: javascript jquery datatables escaping popover