我有一些带有“url”作为其值的选项的选择菜单。一旦用户单击该选项,它就会将他们带到特定的 url。我希望在转到特定 url 时将所选选项显示在选择菜单上。
代码: Html:
<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>
脚本
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
获取路径,然后从选择中设置相应的选项:
function selectOptionByValue(element, value){
for(var i=0; i < element.options.length; i++) {
if(element.options[i].value == value) {
element.selectedIndex = i;
}
}
}
其中 element 是选择元素, value 是您要检查的路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句