我有这样的表格:
<%= form_for(@post) do |f| %>
<%=f.collection_select :post_id, Board.where(:user_id => current_user.id), :id, :name %>
<%= f.submit "Post it"%>
<% end %>
我想知道如何通过jquery添加新选项而无需使用输入按钮重新加载页面:
我想在提交表单之前将选项添加到collection_select
我正在使用jquery ujs https://github.com/rails/jquery-ujs
示例:
答案 0 :(得分:0)
如果您要添加的选项已在页面上,则此post有答案。
如果你想用ajax做,你需要通过调用ajax获取选项来获取数组然后迭代它
更新
var input_value = $('#myInput').val()
$('#mySelect').append(
$('<option></option>').val(input_value.replace(' ', '_')).html(input_value)
);
如果您希望将其添加到顶部,可能会更加用户友好
,则将附加更改为前置替换元素可能需要工作,具体取决于用户可能输入的内容以及您希望如何存储新选项。
并且不确定你是如何解雇它的,所以你需要将它绑定到我猜的那个......