在turbolinks.visit(url)之后是否有一种方法可以在选择菜单中显示选定的选项值

时间:2019-06-13 16:25:44

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

我有选择菜单,其中包含以“ url's”作为值的选项。用户点击该选项后,会将其带到特定的网址。我希望将选定的选项带到特定的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);  
 }

涡轮链接将转到下一个路径,而下拉选项将被预先选择为第一个选项。谁能让我知道如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

您可以使用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是select元素,value是您要检查的路径。