具有特殊字符和空格的字符串化字符串作为数据属性jQuery

时间:2019-03-29 00:47:25

标签: jquery string attributes

我有一个来自php的字符串,如下所示

  

[{“ lngID”:“ 1”,“ strRefTable”:“团队”,“ strRefValue”:“自动化”,“ strLongDesc”:“自动化”,“ strShortDesc”:“汽车男孩”,“ 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>')

但不返回整个字符串,因为它们的数据值都剪切了'{

中的字符串

任何想法如何正确地将字符串附加为数据属性

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 :(得分:0)

您的JSON对象在属性'strShortDesc'"Auto boys'"上包含另一个撇号。删除字符,它将正常工作。