我有一个调查网络应用程序可以从客户那里收集数据。我正在尝试将十几个不同的函数(每个选项一个)转换为一个简单的函数。 “投票”存储为 localStorage 变量,以便每天可以重新打开调查而不会丢失数据。这是我所拥有的:
<script>
function vote(choice)
{
if (localStorage.choice)
{
localStorage.choice=Number(localStorage.choice)+1;
}
else
{
localStorage.choice=1;
}
alert("Thanks for your input! Have a nice day");
}
</script>
然后我在正文中有如下所示的按钮:
<li class="li" onClick="vote(a);">choice 1</li>
<li class="li" onClick="vote(b);">choice 2</li>
<li class="li" onClick="vote(c);">choice 3</li>
如果每个函数都有单独的函数,那么函数就可以正常工作,将字母传递给新的 localStorage 变量我做错了什么?
最佳答案
要动态使用对象的属性,您必须使用[]
表示法
<script>
function vote(choice)
{
if (localStorage[choice])
{
localStorage[choice]=Number(localStorage[choice])+1;
}
else
{
localStorage[choice]=1;
}
alert("Thanks for your input! Have a nice day");
}
</script>
要将字母作为字符串传递,您必须将它们用引号引起来
<li class="li" onClick="vote('a');">choice 1</li>
<li class="li" onClick="vote('b');">choice 2</li>
<li class="li" onClick="vote('c');">choice 3</li>
关于javascript - 将值从 javascript 中的按钮传递给创建 localStorage 变量的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18970497/