选择2 ajax调用不填充结果

时间:2016-09-02 16:14:51

标签: php jquery ajax select2

刚从github下载了一个select2文件,最新版本4.0.3,我想根据我输入的内容填充选项(ajax请求)

继承人的代码

$('#usernetwork').select2({
    ajax: {
        url: 'someurl.php',
        dataType: 'json',
        delay: 250,
        data: function (params) {
          return {
            q: params.term, // search term
            page: params.page
          };
        },
        processResults: function (data, page) {

          return data.items;
        },
        cache: false
    },
    minimumInputLength: 1
});

url(someurl.php)显示了这个json结果

[{"id":"1","text":"ClickWeb"},{"id":"2","text":"ClickWeb 1"},{"id":"3","text":"ClickWeb 2"},{"id":"4","text":"ClickWeb 3"}]

最后选择字段是这个

<select name="usernetwork" id="usernetwork" class="form-control">
</select>

这是我第一次尝试这个,因为我现在没有得到任何查询(用于测试目的)

结果没有显示,我不知道如何解决这个问题,任何提示?

1 个答案:

答案 0 :(得分:0)

尝试我的回答你唯一需要改变的是你在processResults回调里面的return语句

return {
          results: data

       };

以下是完整代码:

         $('#usernetwork').select2({
                    ajax: {
                        url: 'someurl.php',
                        dataType: 'json',
                        delay: 250,
                        data: function (params) {
                            return {
                                q: params.term, // search term
                                page: params.page
                            };
                        },
                        processResults: function (data, page) {

                             return {
                                results: data

                              };
                        },
                        cache: false
                    },
                    minimumInputLength: 1
                });