我有选择菜单,其中有一堆以“url”作为其值的选项。一旦用户单击该选项,就会将他们带到特定的网址。我希望在访问特定网址时将所选选项显示在选择菜单上。
代码: 网页:
<div data-controller="dropdown">
<select id="abcMenu" data-action="dropdown#abc">
<option value="/abc">A</option>
<option value="/xyz">B</option>
<option value="/def">C</option>
</select>
</div>
JavaScript
abc(){
var elt = document.getElementById('abcMenu');
elt.options[elt.selectedIndex].setAttribute('selected','selected');
var option = elt.options[elt.selectedIndex].value;
Turbolinks.visit(option);
}
Turbolinks 将进入下一个路径,而下拉选项将被预选为第一个选项。谁能告诉我如何解决这个问题。
最佳答案
您可以使用window.location.pathname
获取路径,然后从select中设置相应的选项:
function selectOptionByValue(element, value){
for(var i=0; i < element.options.length; i++) {
if(element.options[i].value == value) {
element.selectedIndex = i;
}
}
}
其中 element 是选择元素,value 是要检查的路径。
关于javascript - 有没有办法在turbolinks.visit(url)之后在选择菜单中显示所选选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56584845/