select2从文件中加载Ajax数据

前端之家收集整理的这篇文章主要介绍了select2从文件中加载Ajax数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个名为listofValues.PHP的脚本,它查询数据库并返回 JSON格式值.

我需要的是将这些值传递给select2数据成员.我需要它加载一次.

我不需要将值从select2输入(term)传递给我的listofValues.PHP,如this example所述

$('#select2div').select2({
        //data:[],ajax: {
        dataType: "json",url: "listofvalues.PHP",success: function (data) {          
        }
    }

你可以帮我吗

简单的例子

知道您从listofvalues.PHP获取的对象的格式是有用的,但让我们假设为了简单起见,它看起来像这样:

[ {"id": 1,"text": "option1"},{"id": 2,"text": "option2"},{"id": 3,"text": "option3"} ]

这是最简单的格式,默认情况下,select2可以处理具有属性名称id和文本的对象,并将它们渲染到下拉列表中.所以你的select2初始化可能如下所示:

$('#select2div').select2({
    ajax: {
        dataType: "json",results: function (data) {
            return {results: data};
        }
    }
});

稍微挑剔的例子

现在我们假设来自listofvalues.PHP的数据不遵循方便的命名约定:

[ {"id": 1,"firstName": "John","lastName": "Lennon"},"firstName": "Paul","lastName": "McCartney"},"firstName": "George","lastName": "Harrison"},{"id": 4,"firstName": "Ringo","lastName": "Starr"} ]

我们必须设置一个函数来处理输出

function formatValues(data) {
    return data.firstName + ' ' + data.lastName;
}

而我们的select2初始化:

$('#select2div').select2({
    ajax: {
        dataType: "json",results: function (data) {
            return {results: data};
        }
    },formatResult: formatValues
});

让我知道你怎么样

猜你在找的Ajax相关文章