строковая строка со специальным символом и пробелом в качестве атрибута данных jquery - PullRequest
0 голосов
/ 29 марта 2019

у меня есть строка из php, которая выглядит следующим образом

[{"lngID": "1", "strRefTable": "team", "strRefValue": "Automation", "strLongDesc":" Automation "," strShortDesc ":" Auto boys '"," bitActive ": 1}]

В строке есть пробел и '

Я хочудобавить его к объекту в качестве атрибута данных. Я попытался

objdata.push("<button class='btn btn-info user_action' data-action='edit' id='btnUpdateModal' data-obj='" + JSON.stringify(v) + "'><i class='fa fa-edit'></i> Edit</button>")

и

objdata.push('<button class="btn btn-info user_action" data-action="edit" id="btnUpdateModal" data-obj=' + JSON.stringify(v) + '><i class="fa fa-edit"></i> Edit</button>')

, но не возвращает всю строку в качестве значения данных. Оба они обрезают строку в * 1016.* или в {

Любая идея, как правильно добавить строку в качестве атрибута данных

var data = [{
  "lngID": "1",
  "strRefTable": "team",
  "strRefValue": "Automation",
  "strLongDesc": "Automation",
  "strShortDesc": "Auto boys'",
  "bitActive": 1
}];
$('div').append('<button class="btn btn-info user_action" data-action="edit" id="btnUpdateModal" data-obj=' + JSON.stringify(data) + '><i class="fa fa-edit"></i> Edit</button>')
$('div').append("<button class='btn btn-info user_action' data-action='edit' id='btnUpdateModal' data-obj='" + JSON.stringify(data) + "'><i class='fa fa-edit'></i> Edit</button>")

$("div").on('click', 'button', function() {

  console.log(JSON.parse($(this).attr("data-obj")))
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div></div>

1 Ответ

0 голосов
/ 12 апреля 2019

Ваш объект JSON содержит еще один апостроф атрибута 'strShortDesc' значение "Auto boys'". Удалите персонажа, и он будет работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...