【问题标题】:How should I have a variable new link depending on a dropdown?我应该如何根据下拉菜单创建可变的新链接?
【发布时间】:2024-01-15 15:29:02
【问题描述】:

我有一个下拉列表,我希望能够更改要传递给路径的 id。

下拉菜单

<select id="student-selection">
    <option value="1">Frank</option>
    <option value="2">Bill</option>
</select>

链接

<%= link_to "Create Pet", new_student_pet_path(:id_from_select_dropdown) %>

这怎么可能?我猜我应该以某种方式使用coffeescript,但除了解析链接字符串和替换ID之外,我想不出一个好方法。

我也愿意使用带有 onclick 事件的 div,如果这样会更容易而不是锚点。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 coffeescript


    【解决方案1】:

    我发现了一个很好的方法。我只是将 URL 作为值放在选择选项中,而不是通过路径函数使用 ID。这样,在咖啡脚本中,我只需将 window.location 设置为所选选项的值。

    HTML

    <select id="student-selection">
      <option value="/students/1/pets/new">Frank</option>
      <option value="/students/2/pets/new">Bill</option>
    </select>
    

    CoffeeScript

    $ ->
      $('btn-id').click ->
        window.location = $('#student-selection').children("option").filter(":selected").val()
    

    【讨论】:

      最近更新 更多