【发布时间】:2015-09-18 22:33:22
【问题描述】:
如何为下拉列表定义 sessionStorage?我有以下内容,但我得到“someTitle is not defined”
不知道我做错了什么。
Javascript
function save_page(form) {
if (supports_html5_storage()) {
var title = $('.btn-group-month ul li > a').attr('title');
sessionStorage.setItem("someTitle", title);
}
}
function load_page(form) {
if (supports_html5_storage()) {
var title = sessionStorage.getItem("someTitle");
$('.btn-group-month ul li > a').attr('title', title);
}
}
html
<div class="btn-group btn-group-month">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span data-bind="label">Month</span>
</button>
<ul class="dropdown-menu dropdown-menu-month">
<li><a href="#" title="January">January</a></li>
<li><a href="#" title="February">February</a></li>
<li><a href="#" title="March">March</a></li>
</ul>
</div>
【问题讨论】:
-
我将代码复制粘贴到本地服务器中,但似乎没有抛出任何错误。但它似乎并没有做任何有用的事情——save_page 总是保存一月,而 load_page 会破坏所有月份的 title="January"。你能解释一下你想做什么吗?
-
好的,感谢您的回复。我正在尝试将所选项目保存到 sessionStorage 以便它可以保留到新页面。因此,如果用户选择二月,则将其保存在存储中,并传递到新页面。显然我的代码在这两个地方都有问题,但我不确定是什么。
-
好的,看看 HTML,这看起来像 Bootstrap - 是吗?我查看了 Bootstrap 的文档,但找不到看起来像下拉菜单的组件,并且在单击时实际上会更改值。您如何在视觉上进行更改,所以我知道要寻找什么。现在,使用提供的 HTML,没有选定的项目或任何东西——我不知道在保存和加载时要查找的项目——在哪里以及如何显示选定的项目。您能否仅提供选定内容时的 HTML?
-
函数中form参数有什么用?此外, $('.btn-group-month ul li > a').attr('title') 将采用您的第一个主播的标题,而不是选择的标题。您应该调用函数 onchange 以便获得该月的值
-
@metal03326 是的,我正在使用 Bootstrap。我将在几秒钟内添加一个带有 Bootstrap 内容和更多 JS 的 jsfiddle。谢谢。
标签: javascript html session-storage