<% active_module = @custom_data_field[:bind_module_app] rescue nil %> <% active_uid = @custom_data_field[:bind_uid] rescue nil %> <% active_module = @custom_configs.first.module rescue nil if active_module.nil? %> <% if @custom_configs.length != 0 %> <div class="control-group input-content"> <label class="control-label muted" for="custom_bind_module_app"><%=t("custom_announcement.use_module")%> :</label> <div class="controls"> <%= select_tag("#{@field_name}[custom_data_field][bind_module_app]", options_for_select(@custom_configs.map{|c| [t("module_name.#{c.module}"),c.module]},active_module),{:id=>"custom_bind_module_app"})%> </div> </div> <div class="control-group input-content"> <label class="control-label muted" for="custom_bind_uid"><%=t("custom_announcement.use_content")%> :</label> <div class="controls"> <% @custom_configs.each do |c| %> <% title_field = c.title_field uid_field = c.uid_field bind_model = c.bind_model.constantize rescue nil %> <% if bind_model %> <div class="<%=(c.module == active_module) ? "show bind_modules" : "hide bind_modules" %>" data-module="<%= c.module %>"> <%= select_tag("#{@field_name}[custom_data_field][bind_uid]", options_for_select(bind_model.where(title_field.to_sym.nin=>[nil,""]).map{|target_model| [target_model.send(title_field),target_model.send(uid_field)]},active_uid),{:id=>"custom_bind_uid"})%> </div> <% end %> <% end %> </div> </div> <script type="text/javascript"> if($(".bind_modules.hide").length != 0){ $(".bind_modules.hide").eq(-1).after($(".bind_modules.show")); } $("#custom_bind_module_app").change(function(){ var value = $(this).val(); console.log(value) $(".bind_modules").removeClass("show").addClass("hide"); $("[data-module=\""+value+"\"]").removeClass("hide").addClass("show"); if($(".bind_modules.hide").length != 0){ $(".bind_modules.hide").eq(-1).after($(".bind_modules.show")); } }) </script> <% end %>