Включить специальные символы в данные строки - PullRequest
0 голосов
/ 21 февраля 2019

Некоторые из записей, которые я возвращаю из базы данных, включают апостроф.

Различные записи имеют следующие названия:

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
      ] 
});

Iудалил много кода, который не был необходим для этого вопроса.Вы можете увидеть атрибут data-vesselname выше.Кажется, проблема возникает там.

Я пытался сделать следующее:

data-vesselname='"+escape(oData.VESSEL_NAME)+"'

Но после осмотра элемента я вижу это:

data-vesselname="CC%20CH%C2TEAU%20D%27IF"

1 Ответ

0 голосов
/ 21 февраля 2019

Вам нужно экранировать кавычки в добавляемой вами строке.Вы можете сделать это вручную или позволить jQuery сделать это за вас:

"fnCreatedCell": function(nTd, sData, oData, iRow, iCol) {
  $('<a />', {
    'href': '#',
    'title': 'Edit Account',
    'class': 'modAccount',
    'data-vesselname': oData.VESSEL_NAME,
    'text': 'Edit'
  }).appendTo(nTd); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...