我有JS脚本功能,可以保存购物车中的食物以订购食物。 该函数带有2个参数ID和价格。
我的脚本文件看起来像
<script>
function addtocart(mitem, mprice) {
var price = String(mprice)
var mobj = { String(mitem): price }
var storeobj = JSON.stringify(mobj)
localStorage.setItem('cart', storeobj)
}
</script>
我的按钮看起来像这样
<p style="position: absolute; bottom: 0px"><button class="button" style="width: 200px" onclick="addtocart( '{{M.Menu_Item}}', '{{M.Menu_ItemPrice}}' )" >Add to Cart</button>
当我在Chrome开发者控制台中单击按钮时,表示未定义addtocart函数。
我确实阅读过有关单击侦听的信息,但是每次单击按钮时我都必须传递参数,这是不同的。我可能做错了什么?
答案 0 :(得分:4)
您需要使用[]设置mobj。
var mobj = { [String(mitem)]: price };
基本上,Chrome会在
处抛出“ Uncaught SyntaxError:Unexpected token:”var mobj = { String(mitem): price }
,这意味着由于语法错误,它无法识别您的JS代码。