我从数据库中带回的一些记录包含撇号。
各种记录的名称如下:
CC CHÂTEAU D'IF
检查元素,数据属性如下所示:
data-vesselname="CC CHÂTEAU D" IF'
我需要数据属性如下所示:
data-vesselname="CC CHÂTEAU D'IF"
这是 ajax 调用:
$.ajax({
url: 'api/searchVoyageInfo.php',
type: 'POST',
data: '',
dataType: 'html',
success: function(data, textStatus, jqXHR){
var jsonObject = JSON.parse(data);
var table = $('#example1').DataTable({
"data": jsonObject,
"columns": [{
"data": "",
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol)
{
$(nTd).html("<a href='#' title='Edit Account' class='modAccount'
data-vesselname='"+oData.VESSEL_NAME+"'>Edit</a>");
}
},
{ "data": "ANOTHER_COLUMN" },
{ "data": "ANOTHER_COLUMN" },
// SEVERAL MORE COLUMNS
]
});
我删除了许多对于这个问题来说不必要的代码。您可以在上面看到 data-vesselname 属性。问题似乎就发生在那里。
我尝试执行以下操作:
data-vesselname='"+escape(oData.VESSEL_NAME)+"'
但是在检查该元素后,我看到了这一点:
data-vesselname="CC%20CH%C2TEAU%20D%27IF"
最佳答案
您需要转义附加字符串中的引号。您可以手动执行此操作,也可以让 jQuery 为您执行此操作:
"fnCreatedCell": function(nTd, sData, oData, iRow, iCol) {
$('<a />', {
'href': '#',
'title': 'Edit Account',
'class': 'modAccount',
'data-vesselname': oData.VESSEL_NAME,
'text': 'Edit'
}).appendTo(nTd);
}
关于php - 在行数据中包含特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54811095/