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

标签 ruby-on-rails jquery-ui jquery-select2 select2-rails

哈姆:

 .form-group
            = f.hidden_field :gender, :id => 'select2', :style => "width:100%; height: 40px"

JS:

 $("#select2").select2({
    createSearchChoice: function (term, data) {
      if ($(data).filter(function () {
            return this.text.localeCompare(term) === this.text;
          }).length === 0) {
        return {
          id: term,
          text: term
        };
      }
      console.log('SELECT2', $("#select2").data.text);
    },
    placeholder: "Enter custom gender or select one below",
    multiple: false,
    data: [{
      id: 'male',
      text: 'male'
    }, {
      id: 'female',
      text: 'female'
    }, {
      id: 'custom',
      text: 'custom'
    }]
});

Select2 正在做我现在需要的一切,但占位符没有显示在我的 View 中。任何帮助,非常感谢。

最佳答案

我为此编写了一个小的 CoffeeScript ,它可以执行所有正常的自动完成操作以及预填充数据

$(document).ready ->
  $('.select2').each (i, e) =>
    select = $(e)
    options =
      placeholder: select.data('placeholder')
      minimumInputLength: 1

    if select.hasClass('ajax') # only add ajax functionality if this class is present
      options.ajax =
        url: select.data('source')
        quietMillis: 100
        dataType: 'json'
        data: (term) ->
          q: term
        results: (data) ->
          results: data.resources
          more: false

      options.dropdownCssClass = "bigdrop"
      options.initSelection = (element, callback) ->
        callback({ text: element.attr('data-value') })
    select.select2(options)

而我的隐藏字段是这样的

hidden_field_tag(:search, '', id: 'res_select', class: 'select2 ajax form-control select-overide', style: 'width: 100%;', data: { source: "/products/autocomplete", placeholder: 'Search for a name' }, :value=> params["search"], "data-value" => params['search'])

尝试一下它会起作用。

关于ruby-on-rails - Select2 占位符在带有 hidden_​​field 的 Rails 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116101/

相关文章:

ruby-on-rails - 如何在 Rails 助手中使用 jQuery

javascript - 如何为 UTC 和本地时间创建 float JavaScript 时钟?

jquery - Rails 3.1,jQuery UI 不加载

jquery - Rails select2 ajax 标签

jquery - 如何将 Select2 中的某些单词的字体更改为粗体

javascript - 带有 Rails(设计)身份验证的 Marionette.js

ruby-on-rails - ActiveMerchant - 向用户汇款的最佳方法? Paypal 账户或信用卡

ruby-on-rails - rails : validates_length_of :allow_nil does not allow nil

ruby-on-rails - 每天向帐户用户发送包含站点更新的电子邮件 Ruby on Rails

javascript - 将 select2 的结果移动到另一个 div