1

我有一个选择下拉项目。当用户选择项目时,我需要重定向到 item_id 的 edit_item_path。例如,如果用户选择了 id = 5 的项目,我需要重定向到 items/5/edit 路径

如何在 rails 3 和 jquery 中做到这一点?

4

2 回答 2

3

假设您的下拉列表如下所示:

<select id="editable_pages">
  <option value="1">Edit 1</option>
  <option value="2">Edit 2</option>
</select>

在这种情况下,下面的 jquery 片段应该可以工作:

$('#editable_pages').change(function() {
    window.location = "items/+ $(this).find(":selected").text() +/edit";
});

更好的解决方案是使用 rails 路线助手。为此,您可以为每个选项添加带有 url 的 html5 数据属性,例如:

<option value="1" data-edit-url="<%= edit_item_url(1) %>">Edit 1</option>

$('#editable_pages').change(function() {
    window.location = $(this).find(":selected").data('edit-url');
});
于 2012-09-13T20:23:14.030 回答
2

我会做这样的事情......

<% @item_paths = {""=>"", "Item 5" => edit_item_path(5), "Item 4" => edit_item_path(4)}%>
<%= select_tag :edit_item, options_for_select(@item_paths)%>

<script type="text/javascript">
      $('#edit_item').change(function() {
      window.location = $(this).find('option:selected').val();
      });
 </script>
于 2012-09-13T20:21:46.970 回答