【发布时间】:2020-04-29 23:04:10
【问题描述】:
我是第一个项目的爱好者。在一个表单中,管理员可以在一个集合选择中选择多个事件。我希望这些事件可作为数组字段复选框集合中的选项以相同的形式进一步向下使用。
首先,组织者选择活动:
<%= f.input :events, collection: @organizer.events.order(:start_time).reverse, label_method: :event_name_and_date, input_html: {multiple: true, id: "event_select"} %>
然后,此复选框集合字段(以及表单中的其他类似字段)应使用先前选择的事件作为选项动态更新,因此已选中事件的 id 将在 param 数组中发送。
<%= f.input :events_to_include_in_event_pass_1, :collection => ["(previously selected events", "etc"], :as => :check_boxes, include_hidden: false, :input_html => {:multiple => true, id: "event_pass_select"} %>
我有一个 ajax:
$('#event_select').on('change', function(){
var grab_events = $('#event_select').val();
var hpeData = '{"hpe": "' + grab_events + '"}';
$.ajax({
type: 'post',
url:'/events/get_the_e',
dataType:'json',
contentType:'application/json',
data: hpeData,
success:function (data) {
... $("document.forms["eventForm"]["events_to_include_in_event_pass_1"].collection_value(?)").update_with('data.hpe.each.event_name_... and_id_somehow_gets_added')
}
});
}
这会带回在第一个集合字段中选择的实例,但我不知道如何使用这些实例动态更改 #event_pass_select 集合。 ……这甚至可能吗?还是有一些更好的通用方法来设置这样的东西?
【问题讨论】:
标签: javascript ruby-on-rails ajax collections