Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery select2 AJAX not working

I'm using the jQuery select2 plugin and trying to get the AJAX to work with my ext data which is obviously not working and I'm just wondering if someone can point out what I'm doing wrong or missing something?

NOTE This is only for select v3.5.2

my js:

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

html:

<select id="cliselect" name="cliselect" style="width: 100%;" /></select>

my JSON returns (which I believe is valid):

[{"id":"62","text":"Alberta Innovates Health Solutions"},{"id":"4","text":"Alterna Savins & Credit Union"},{"id":"63","text":"BC Patient Safety & Quality Council"}]
like image 373
rubberchicken Avatar asked Feb 25 '14 18:02

rubberchicken


Video Answer


1 Answers

The Select2 control is updated to version 4.0. Now input fields are not working any longer and there should be select element.

The results have been changed to

processResults: function (data) {
    return {
      results: data
    };  
}

Inside the processResults function you can use them like this:

processResults: function (data) {
    var results = [];
    $.each(data, function (index, account) {
        results.push({
            id: account.AccountID,
            text: account.AccountName
        });
    });

    return {
        results: results
    };
}
like image 57
Sajjad Ali Khan Avatar answered Oct 01 '22 04:10

Sajjad Ali Khan