weixin_33695082 2014-07-25 03:36 采纳率: 0%
浏览 44

Select2 AJAX与JSON

I have been trying to populate my input with select2 using the JSON provided. Here's the JSON:

{
"airports": 
[
    {
        "id": "1",
        "code": "AMQ",
        "city": "Ambon",
        "country": "Indonesia"
    },
    {
        "id": "2",
        "code": "BJW",
        "city": "Bajawa",
        "country": "Indonesia"
    }
]
}

And the html code:

<input class="" type='hidden' value="192" data-init-text='Departing City' name='input' id='depart-airport' style="width: 300px"/>

And the js code:

    $(document).ready(function() {
  $('#depart-airport').select2({
    minimumInputLength: 1,
    ajax: {
      url: "http://localhost:4000/api/airports.json",
      dataType: 'json',
      results: function (data) {
        return { results: data};
      }
    }
  });
});

There's no error in console, but whether I try to input them it's always saying that "searching failed" or there's not even anything. The data from json never showed. Do you have anything to fix this around? Thanks's before :)

  • 写回答

1条回答 默认 最新

  • 7*4 2014-07-25 03:46
    关注

    You have a minor error in your jQuery:

     $(document).ready(function() {
        $('#depart-airport').select2({
            minimumInputLength: 1,
            ajax: {
                url: "http://localhost:4000/api/airports.json",
                dataType: 'json',
                results: function (data) {
                    // You had { results: data }, but your actual information is in data.airports
                    return { results: data.airports }; 
                }
            }
        });
    });
    
    评论

报告相同问题?