javascript - 有没有办法在turbolinks.visit(url)之后在选择菜单中显示所选选项值

标签 javascript jquery ruby-on-rails ruby ruby-on-rails-5

我有选择菜单,其中有一堆以“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/

相关文章:

javascript - while 循环内的函数

ruby-on-rails - 渲染另一个 Controller 的 View

javascript - 为什么这个函数在放置在 Promise 中时会被破坏?

javascript - 如何在 IE8 中检查未定义的值?

javascript - 如何知道异步函数何时完成

ruby-on-rails - 由于 sqlite3,推送被拒绝到 Heroku

css - rails 应用程序在 heroku 上找不到 fontawesome 图标

javascript - Facebook 未授予访问用户上传照片的权限

javascript - 有没有办法使用javascript创建lnk文件

jQuery Mobile 选项卡禁用() : Uncaught Error: jQuery UI Tabs: Mismatching fragment identifier