douyan3478 2019-02-21 15:51
浏览 119
已采纳

在行数据中包含特殊字符

Some of the records I'm bringing back from the database include an apostrophe.

Various records have a name like the following:

CC CHÂTEAU D'IF

Inspecting the element, the data-attribute looks like this:

data-vesselname="CC CHÂTEAU D" IF'

I need the data-attribute to look like this:

data-vesselname="CC CHÂTEAU D'IF"

Here is the ajax call:

$.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 removed a lot of code that wasn't necessary for this question. You can see the data-vesselname attribute above. The problem seems to occur there.

I tried to do the following:

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

But upon inspecting the element, I see this:

data-vesselname="CC%20CH%C2TEAU%20D%27IF"
  • 写回答

1条回答 默认 最新

  • dongli2000 2019-02-21 15:57
    关注

    You need to escape the quotes in the string you append. You can either do this manually, or you can let jQuery do it for you:

    "fnCreatedCell": function(nTd, sData, oData, iRow, iCol) {
      $('<a />', {
        'href': '#',
        'title': 'Edit Account',
        'class': 'modAccount',
        'data-vesselname': oData.VESSEL_NAME,
        'text': 'Edit'
      }).appendTo(nTd); 
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵