在 select2 中:如何在 rails 中将初始/默认 select2 选项设为空白?
Posted
技术标签:
【中文标题】在 select2 中:如何在 rails 中将初始/默认 select2 选项设为空白?【英文标题】:In select2 : How do I make the initial / default select2 option blank in rails? 【发布时间】:2015-08-04 10:57:14 【问题描述】:标题基本上说明了一切。
我希望初始占位符值为空白。
目前。它加载了我的第一个朋友。我希望它是空白的占位符。
= form_tag(compare_path, method: 'get', remote: true, id: 'compare_form') do
= select_tag "v_friend_id", options_from_collection_for_select(@v_friends, :id, :full_name, @comparison.v_friend.id), :class => "compare-search", :style => "width:100%; margin-left: 3px;"
在我的 JS 中,这是我迄今为止尝试过的:
$(document).ready(function()
$('.compare-search').prepend('<option/>').val(function()return $('[selected]',this).val() ;);
$(".compare-search").select2(
placeholder: "Search to compare"
);
);
我最初尝试在它前面加上一个空白选项值,但它仍然被来自集合中实例变量的第一项覆盖。
我没有大量使用 ror 的经验,所以如果我能侥幸逃脱,我会尽量远离控制器。
【问题讨论】:
select_tag()
接受include_blank
选项(apidock.com/rails/ActionView/Helpers/FormTagHelper/select_tag)。你试过吗?
我也在玩弄 allowClear: true,它让我清除它并显示占位符,但初始选择器不清楚。我正在尝试 'initSelection:' 还没有运气,不过。
include_blank: true,似乎和allowClear 效果一样。它可以让我清除选定的项目,但在页面加载时将初始选择清除/空白并没有运气。
options_from_collection_for_select
的第四个参数指定默认选择。可以去掉吗?
【参考方案1】:
= select_tag "friend_id", options_from_collection_for_select(@v_friends, :id, :full_name, @comparison.v_friend.id), prompt: 'Select Person', :class => "compare-search", :style => "width:100%; margin-left: 3px;"
【讨论】:
我试过这个。它不工作。但是,它确实让我可以选择“选择人员”。 它与 erb 一起正常工作。在此处粘贴您正在写的内容 这是一种工作,但现在的问题是它搞砸了从朋友集合中选择其他选项。 我不明白您当前的问题是什么?【参考方案2】:试过这段代码:
<%= select_tag "friend_id", "<option value=\"\">Search to compare</option>"+options_from_collection_for_select(@v_friends, :id, :full_name, @comparison.v_friend.id) %>
添加这个:
"<option value=\"\">Search to compare</option>"+
【讨论】:
以上是关于在 select2 中:如何在 rails 中将初始/默认 select2 选项设为空白?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 PixelAdmin 模板中将 select2 依赖插件更新到版本 4.0.6
在 Rails 3.2.8 中使用 select2 gem 时 Sprockets::FileNotFound
如何将 select2-rails 与 simple_form 一起使用?