由于Javascript的原因,HTML中的下拉列表在初始化时为空
我在一个html网页中创建了一个包含四个选项的下拉列表。它工作得很好,但我意识到当页面刷新时,该值会自动重置为第一个选项。因为我希望将用户的选择保存在内存中,所以我添加了一个在某处找到的javascript代码片段 它工作得很好,只是在初始化时下拉列表的默认值是一个空字段 我需要在初始化时显示第一个选项 我想这很简单,但我一点都不懂JavaScript。你能帮忙吗 下面是代码的样子:由于Javascript的原因,HTML中的下拉列表在初始化时为空,javascript,html,dropdown,Javascript,Html,Dropdown,我在一个html网页中创建了一个包含四个选项的下拉列表。它工作得很好,但我意识到当页面刷新时,该值会自动重置为第一个选项。因为我希望将用户的选择保存在内存中,所以我添加了一个在某处找到的javascript代码片段 它工作得很好,只是在初始化时下拉列表的默认值是一个空字段 我需要在初始化时显示第一个选项 我想这很简单,但我一点都不懂JavaScript。你能帮忙吗 下面是代码的样子: <select name="options" id='dropdown'> <option
<select name="options" id='dropdown'>
<option value="1">1st Option</option>
<option value="2">2nd Option</option>
<option value="3">3rd Option</option>
<option value="4">4th Option</option>
</select>
<!-- The script below helps to keep in memory the dropdown value after the page has been refreshed -->
<script type="text/javascript">
var selectedItem = sessionStorage.getItem("SelectedItem");
$('#dropdown').val(selectedItem);
$('#dropdown').change(function() {
var dropVal = $(this).val();
sessionStorage.setItem("SelectedItem", dropVal);
});
</script>
第一选项
第二种选择
第三种选择
第四种选择
var selectedItem=sessionStorage.getItem(“selectedItem”);
$(“#下拉列表”).val(selectedItem);
$('#下拉列表').change(function(){
var dropVal=$(this.val();
setItem(“SelectedItem”,dropVal);
});
根据您的场景,您可以使用选择下拉列表上的trigger('change')
在为下拉列表设置值后显式触发更改事件。这将运行change函数,并将初始值保存在sessionStorage中。因此,添加这行代码,$(“#dropdown”).trigger('change')
类似于:
<script type = "text/javascript" >
var selectedItem = sessionStorage.getItem("SelectedItem");
$('#dropdown').val(selectedItem);
$('#dropdown').change(function() {
var dropVal = $(this).val();
sessionStorage.setItem("SelectedItem", dropVal);
});
$('#dropdown').trigger('change'); // trigger the change explicitly
</script>
var selectedItem=sessionStorage.getItem(“selectedItem”);
$(“#下拉列表”).val(selectedItem);
$(“#下拉列表”).change(函数(){
var dropVal=$(this.val();
setItem(“SelectedItem”,dropVal);
});
$(“#下拉列表”).trigger('change');//明确触发更改
我认为您应该检查会话存储密钥是否存在
我已经创建了代码的工作示例:
以下是HTML标记:
<select name="options" id='dropdown'>
<option value="0" selected>--- select here ---</option>
<option value="1">1st Option</option>
<option value="2">2nd Option</option>
<option value="3">3rd Option</option>
<option value="4">4th Option</option>
</select>
如果您在这方面遇到任何问题,请告诉我。我已经应用了一些更改,然后尝试了它,它似乎可以按照我的要求工作。非常感谢你!我只是这么做了,但由于我的声誉不到15分,它说这将被记录下来,但不会反映在公开的分数上。无论如何,谢谢你的帮助,非常感谢!
let selectedItem = sessionStorage.getItem("SelectedItem");
if (selectedItem) {
$('#dropdown').val(selectedItem);
} else {
$('#dropdown').val(0);
}
$('#dropdown').change(function() {
let dropVal = $(this).val();
sessionStorage.setItem("SelectedItem", dropVal);
});