javascript - 有没有办法在 turbolinks.visit(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>
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
获取路径,然后从选择中设置相应的选项:
function selectOptionByValue(element, value){
for(var i=0; i < element.options.length; i++) {
if(element.options[i].value == value) {
element.selectedIndex = i;
}
}
}
其中 element 是选择元素, value 是您要检查的路径。
推荐阅读
- python - 过滤 Multilevel pandas groupby
- android - 聊天应用程序 EditText 部分不会在设计预览中呈现/隐藏
- mysql - 如何在 SQL 中构造传感器数据?
- php - 我在 codeigneter 中安装了一个 worldpay 库,但在创建订单时遇到问题
- linux - 如何检查和删除python中两个不同目录中不同的文件?
- javascript - 使用 for-loop 用不可变 js 构建一个深层对象
- javascript - 从函数外部调用变量不起作用javascript
- mysql - PyroCMS(Laravel)翻译中的where子句无法正常工作
- python - Pandas 分组然后根据日期范围 +/- x-days 计数和求和
- python - pandas 中的 scatter_matrix 返回大量文本 - 如何删除它?