如何在编辑表单上重新填充select2字段

时间:2017-04-18 00:25:52

标签: ruby-on-rails select2

当我使用相同的部分和表格编辑实例时,此select2字段不会重新填充数据。我已经研究了一段时间而没有提出解决方案。

这是我的第一个网站。

形式

<%= f.input :song_creditor_1, label: 'Song Creditor 1', as: :select, input_html:  { id: "song_creditor_1", include_hidden: false } %>

脚本

<script> 
  function templateDropDownFormat (item) {
    return item.text;
  }

  function templateSelectionFormat (item) {
    return item.text;
  }

  $("#song_creditor_1").select2({ 
    placeholder: "Search",
    ajax: {
      url: "/songs",
      dataType: 'json',
      delay: 250,
      data: function (params) {
        return {
          q: params.term, // search term
          page: params.page
        };
      },

      processResults: function (data, params) { 
        // parse the results into the format expected by Select2
        // since we are using custom formatting functions we do not need to
        // alter the remote JSON data, except to indicate that infinite
        // scrolling can be used
        params.page = params.page || 1;
        return {
          results: $.map(data, function(cnut) { 
              return { 
                text: cnut.name + ", " + cnut.city + ", " + cnut.country + " (" + cnut.account_type + ")",
                id: cnut.id, 
              }; 
          }),
          pagination: {
            more: (params.page * 30) < data.total_count
          }
        }; 
      }, 
      cache: true
    }, 
    escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
    minimumInputLength: 1,
    templateResult: templateDropDownFormat, // omitted for brevity, see the source of this page
    templateSelection: templateSelectionFormat// omitted for brevity, see the source of this page
  });

0 个答案:

没有答案