从JSON Ajax Response填充Select2

时间:2016-07-29 14:28:38

标签: jquery json ajax jquery-select2

我正在尝试使用ajax从php / mysql查询填充select2输入框。

这是我的代码:

 var groups_array = [];

    $.getJSON('ajax_get_json.php?what=contact_groups', function (data) {

        $.each(data, function (index) {
            groups_array.push({
                id: data[index].value,
                text: data[index].text
            });
        });

    });

$("#contact_groups_select").val(groups_array);

contact_groups_select是我的select2输入的ID。

我的JSON ajax响应如下所示:

 [{"value":"12","text":"Brodheadsville"}]

我的select2虽然没有填充。我希望我提供足够的代码来获得一些帮助。感谢。

2 个答案:

答案 0 :(得分:2)

而不是使用3+5+7 ,你应该使用select2方法

.val()

答案 1 :(得分:1)

问题是,在异步的getJSON()方法的回调之前,不会填充groups_array

所以,你应该把你的代码放在回调函数中:

var groups_array = [];

$.getJSON('ajax_get_json.php?what=contact_groups', function (data) {
    $.each(data, function (index) {
        groups_array.push({
            id: data[index].value,
            text: data[index].text
        });
    });
    // Call val() or select2() method here
    $("#contact_groups_select").val(groups_array);
});