我有一个选择下拉项目。当用户选择项目时,我需要重定向到 item_id 的 edit_item_path。例如,如果用户选择了 id = 5 的项目,我需要重定向到 items/5/edit 路径
如何在 rails 3 和 jquery 中做到这一点?
我有一个选择下拉项目。当用户选择项目时,我需要重定向到 item_id 的 edit_item_path。例如,如果用户选择了 id = 5 的项目,我需要重定向到 items/5/edit 路径
如何在 rails 3 和 jquery 中做到这一点?
假设您的下拉列表如下所示:
<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');
});
我会做这样的事情......
<% @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>