在 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 选项设为空白?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Select2 中将参数附加到 ajax 请求?

如何在 PixelAdmin 模板中将 select2 依赖插件更新到版本 4.0.6

在 Rails 3.2.8 中使用 select2 gem 时 Sprockets::FileNotFound

如何将 select2-rails 与 simple_form 一起使用?

Select2 占位符在带有 hidden_​​field 的 Rails 应用程序中不起作用

带有 select2 的 Rails 5 ask_as_taggable