我有一个名为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 });
让我知道你怎么样