我有Rails應用程序,在這裏我能夠從選擇國家:選擇二提交值,而不是ID
= f.input :country, label: t("heading.country"), as: :string, input_html: { class: 'select2', data: { allowadd: true, depth: 0, id: @post.location.country.id, url: search_locations_path } }
選擇二由連接到這個元素:
loadSelect2 = (selector = '.select2') ->
$(@).select2
ajax:
data: (term, page) ->
search: term
depth: $(@).data('depth')
results: (data, page) ->
results: data
url: $(@).data('url')
createSearchChoice: (term, data) ->
if $(data).filter(->
@title.localeCompare(term) is 0
).length is 0
id: term
title: term
createSearchChoicePosition: 'bottom'
formatResult: (item) ->
item.title
formatSelection: (item) ->
item.title
initSelection: (element, callback) ->
callback
id: $(element).data('id')
title: $(element).val()
所以,正如你看到的,我能夠選擇國家或添加一個(如果沒有可用的國家)。另外我從data-id
裏面加載從initSelection
輸入的val
初始值和ID。
當我選擇的國家和提交表單一切正常:post_params['country']
等於所選國家的ID,但如果我提交表單,而不改變選擇的值(保留默認的一個),然後post_params['country']
helds value
,而不是id
。
如果我錯了,如何解決呢?
其中Rails代碼創建輸入? – 2014-12-05 10:53:07
@МалъСкрылевъ添加的代碼創建輸入 – 2014-12-05 10:58:35
似乎輸入不是一個集合 – 2014-12-05 11:14:03