使用 Javascript 根据 URL 哈希设置所选选项

Set selected option based on URL hash with Javascript

本文关键字:选项 设置 哈希 Javascript 根据 URL 使用      更新时间:2024-05-05
<select id="mySelect">
    <option>Apple</option>
    <option>Orange</option>
    <option>Pineapple</option>
    <option>Banana</option>
</select>
<button onclick="myFunction()">Try it</button>
<script>
    function myFunction() {
        document.getElementById("mySelect").options.selectedIndex = "2";
    }
</script>

单击按钮时,此脚本选择"菠萝"。我想做同样的事情,只是应该在刷新时立即选择它。另外,我想根据 URL 哈希设置所选选项,而不是使用 selectedIndex

所以:myname.com/#this

然后if location.hash == 'this'将选项设置为所选的相等值。

如果它正在检查location.hash,那么我应该不需要使用 onload,因为它会自动从 url 中提取信息。我知道这很简单,我只是不太了解JavaScript,无法自己把它放在一起。

你通常只听hashchange事件

window.addEventListener('hashchange', fn, false);
window.onload = fn; // fire on pageload
function fn() {
    document.getElementById('mySelect').value = window.location.hash.replace('#','');
}