引导多选列表不会为 Rails 打开
Posted
技术标签:
【中文标题】引导多选列表不会为 Rails 打开【英文标题】:Bootstrap multi select list doesn't open for Rails 【发布时间】:2019-12-02 16:10:53 【问题描述】:多选表单正在正确呈现,但它只显示第一个未选择的选项。当我点击它时,它没有显示可供选择的技能列表。
我已经安装了 bootstrap-multiselect-rails gem。我已将 *= require bootstrap-multiselect 添加到 application.css 和 //= require bootstrap-multiselect 到 application.js。
tasks/new.html.erb
<link rel="stylesheet" href="css/bootstrap.min.css" type="text/css"/>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/bootstrap-multiselect.js"></script>
<link rel="stylesheet" href="css/bootstrap-multiselect.css" type="text/css"/>
<script type="text/javascript">
$(document).ready(function()
$('#example-getting-started').multiselect();
);
</script>
<div class="container">
<h2>Create Task</h2>
<%= form_for(@task) do |f| %>
<div class="space">
<p>Skills:</p>
</div>
<div class="space">
<label id="example-getting-started"">
<%= f.collection_select :skill_ids, @skills, :id, :name, include_blank: true, multiple: true %>
</label>
</div>
<%= f.submit "Post", class: "btn button" %>
<% end %>
</div>
【问题讨论】:
@skills
中有什么内容?听起来可能是空的
技能是一个模型。 @skills 是技能列表。不加bootstrap多选脚本的时候可以看到所有技能。
【参考方案1】:
<label id="example-getting-started"">
您在标签上调用多选,您需要在select
元素上调用它。找出它的 ID 并对其调用 multiselect。
【讨论】:
好的。我尝试将其更改为 但现在 rails throws错误说明参数数量错误(给定 7,预期 4..6)collection_select
不是这样工作的。 ID 将是一个 HTML 选项,因此您需要将其添加到 html 选项哈希中。试试这个:<%= f.collection_select :course_ids, @courses, :id, :name, include_blank: true, multiple: true, id: "example-getting-started" %>
当您将它添加到选择时,您是否从标签中删除了该 ID?您还可以确认选择实际上在检查器中具有该 ID 并且没有控制台错误吗?
我确实删除了 ID。但是控制台说我添加的文件没有找到
[错误] 加载资源失败:服务器响应每个链接和脚本的状态为 404(未找到)以上是关于引导多选列表不会为 Rails 打开的主要内容,如果未能解决你的问题,请参考以下文章