问题描述
在这里,在单击按钮时以模式显示变量时,出现了一些问题。 var name = details[i].name
给出了确切的完整值,但是当我以模式显示此数据时,它仅显示第一个单词。第一个单词或空格之后的单词将自动删除。我的代码在这里怎么了?
if (details[i].taskmaster_id && details[i].events.length) {
var name = details[i].name
var status = details[i].status
console.log('status',status)
console.log(name) //displays full word here
messageCleaner.innerHTML = '<button class="btn btn-msg-cleaner btn-sm" id="msg" data-name=' + name + ' data-status=' + status + '>Message to Cleaner</button>';
//appending Message to Cleaner button
headerContentJustify.appendChild(messageCleaner);
}
$(document).on('click','#msg',function (e) {
const {
name,status
} = e.target.dataset;
$("#sendmessagetocleaner").modal('show')
$('#sendmessagetocleaner').on('shown.bs.modal',function (e) {
console.log(name) // displays only first word here
//if the word is john doe I only john here
$("#cleaner_name").val(name)
$("#sub").val(`${name}`)
})
});
解决方法
您缺少双引号:
messageCleaner.innerHTML='<button class="btn btn-msg-cleaner btn-sm" id="msg"
data-name="'+name+'" data-status="'+status+"
'>Message to Cleaner
</button>';
没有它,该属性的值不会分组,只是在空格之前的第一个单词。第二个单词本身就是另一个属性。