jquery - Select2 load data with Ajax from file -
i have script called listofvalues.php, queries database , returns json format values.
what need pass these values select2 data member. need load once.
i don't need pass values select2 input (term) listofvalues.php described in this example
$('#select2div').select2({ //data:[], ajax: { datatype: "json", url: "listofvalues.php", success: function (data) { } } can me this?
simple example
it useful know format of object you're getting listofvalues.php, let's assume, sake of simplicity looks this:
[ {"id": 1, "text": "option1"}, {"id": 2, "text": "option2"}, {"id": 3, "text": "option3"} ] this easiest format use, default, select2 can handle objects property names id , text , render them dropdown list. select2 initialisation might this:
$('#select2div').select2({ ajax: { datatype: "json", url: "listofvalues.php", results: function (data) { return {results: data}; } } }); slightly trickier example
now let's assume data listofvalues.php doesn't follow convenient naming conventions:
[ {"id": 1, "firstname": "john", "lastname": "lennon"}, {"id": 2, "firstname": "paul", "lastname": "mccartney"}, {"id": 3, "firstname": "george", "lastname": "harrison"}, {"id": 4, "firstname": "ringo", "lastname": "starr"} ] we'll have set function handle output:
function formatvalues(data) { return data.firstname + ' ' + data.lastname; } and our select2 initialisation:
$('#select2div').select2({ ajax: { datatype: "json", url: "listofvalues.php", results: function (data) { return {results: data}; } }, formatresult: formatvalues }); let me know how on.
Comments
Post a Comment