2017-02-18 77 views
0

我正在使用Select2-rails'3.5.3,我可以使用遠程數據進行搜索並保存,問題是我如何還原所選文本(例如,如果用戶按編輯) ,問題:當裝載編輯select2 initSelection重新顯示錶格

下面

形式initSelection不解僱是我的代碼

hotelcheck.coffee

$('.select2-autocomplete').each (i, e) -> 
    select = $(e) 
    options = { 
    multiple: false 
    width: "98%" 
    placeholder: "Type Hotel name" 
    minimumInputLength: 3 
    } 
    options.ajax = 
    url: select.data('source') 
    dataType: 'json' 
    type: "GET" 
    quietMillis: 250 
    # input untuk program 
    data: (term, page) -> 
     { q: term, 
     page: page, 
     per: 25 } 
    results: (data) -> 
     { results: $.map(data, (item) -> 
     { 
      text: item.name 
      id: item.id 
     } 
    ) } 
    initSelection: (element, callback) -> 
     id = $(element).val() 
     if id != '' 
     $.ajax('/hotels/' + id + '.json', dataType: 'json').done (data) -> 
      selected = 
      id: element.val() 
      text: data.name 
      callback selected 
      return 
     return 
    options.dropdownCssClass = 'bigdrop' 
    select.select2 options 

形式展現隱藏字段,我將內容保存到HOTEL_ID

<%= f.hidden_field :hotel_id, data: { source: search_name_hotels_path }, class: "select2-autocomplete", :value => "#{f.object.hotel_id unless f.object.new_record? || f.object.hotel_id.nil? }" %> 

酒店控制器,用於AJAX發送值

def show 
    @hotel = Hotel.find(params[:id]) 
    puts "running fill name" 

    respond_to do |format| 
    format.json { render json: @hotel } 
    end 
end 
  • 源數據=酒店表與字段ID,名稱
  • 客戶機表=以便與字段HOTEL_ID

回答

0

this page,它看起來像initSelection不應該在options.ajax,但只在options。我會嘗試複製他們擁有的示例並將其編輯爲您的需要。或更新至4.0.0,這似乎更容易。

+0

是的,你的權利我只是在選項下移動initselection,它的工作,非常感謝 – widjajayd