我很接近这个但是作为一个javascript / json新手我相信我错过了一些明显的东西。 JSON select2示例有点过头,所以我很想把它转换成我的简单实现。
我有一个模型(城市),其中包含一系列具有其他相关数据的城市列表等。我的目标是显示城市/省份的基本预先输入,并且城市模型中的ID将在表单中传递。
这是我的JS:
$(document).ready ->
$('#e6').select2
placeholder: 'Select a City...'
minimumInputLength: 3
ajax:
url: '/cities.json'
dataType: 'json'
quietMillis: 250
data: (query) ->
{ query: query }
results: (data) ->
{ results: $.map(data, (item) ->
{
id: item.id
text: item.name + ', ' + item.province
}
) }
# formatResult: formatResult
# formatSelection: formatSelection
# initSelection: initSelection
cache: true
return
我的JSON正在触发,因为我可以从我的日志中确认。例如http://localhost:3000/cities.json?query=cal
产生:
[[1714,"Calais","AB"],[1716,"Calder","SK"],[1717,"Calderbank","SK"],[1731,"Calgary","AB"],[1738,"Calling Lake","AB"],[1739,"Callingwood North","AB"],[1740,"Callingwood South","AB"],[1743,"Calmar","AB"]]
现在,我认为这是我的问题。这不应该是:
[ id: 1731, name: "Calgary", province: "AB"], etc..?
这是我的控制器:
respond_to do |format|
format.json {
render json: @cities
}
end
展望未来我可以看到我可能让我的控制器以“我想要的城市,省”格式吐出“文本”值。
所以我的问题是:我在JS中遗漏了一些明显的东西和/或我是否需要修复我的JSON,如果是这样的话?