通过data-name,我正在尝试将产品名称转移到购物车中。例如,如果需要传递的名字是“Pineapple Gold large Costa Rica ~ 1.7 kg”,那么只有“Pineapple”通过dataset.name来找我。为什么只发送第一个单词?
div_card.innerHTML = "<div class='card'>\
<img src="+image+" class='card-img-top'>\
<div class='card-body'>\
<h5 class='card-title'>"+product_name+"</h5>\
<p class='card-text'>"+price+" руб</p>\
<button type='button' class='btn btn-outline-primary' \
data-id="+id+" data-name="+product_name+" \
data-price="+price+" \
onclick='add_to_cart(this.dataset.id, this.dataset.name, \
this.dataset.price)'>\
Добавить в корзину\
</button>\
</div>\
</div>";
<script>
function add_to_cart(id, product_name, price){
console.log(product_name); // Выведет "Ананас", а не "Ананас Голд большой Коста-Рика ~1,7 кг"
let ul = document.getElementById('shoping_cart_list');
let li = document.createElement('li');
li.innerHTML = product_name;
ul.appendChild(li);
}
</script>
正如评论中已经建议的那样,为此使用模板字符串