自动选择2设置选项

时间:2018-03-27 13:07:55

标签: javascript jquery ajax smarty jquery-select2

我正在构建一个支持应用程序,它有一些选择框。我正在使用select2。我遇到的问题是,在我目前的构造中,只有当有人在项目select2填写项目后点击了引导选择2时,才会选择相应的项目引导。

目标是使得当有人设置项目select2值时,程序会自动将前导选择框的select2设置为与项目ID相对应的前导。

如果我在项目select2中选择项目1082,它需要在引导选择2处自动设置“J.Johnson”,而不必先点击所述选择框。

即使官方文件(https://select2.org/programmatic-control/add-select-clear-items)达到我设想的解决方案,我也不能表示赞赏。

项目选择onchange函数调用

document.body.classList.add("any_class");

searchLeadsByProjectID函数

$('.select2project').on("change", function() {
    var value = $(this).val();
    searchLeadsByProjectID(value);
});

ajaxLeadSearch2.php

        function searchLeadsByProjectID(id){
            $('.select2lead').select2({
                ajax: {
                    type: 'GET',
                    url: '/modules/support/ajaxLeadSearch2.php',
                    dataType: 'json',
                    delay: 250,
                    data: {
                        "id": id
                    },
                    processResults: function (data) {
                        return {
                            results: data,
                            more: false
                        };
                    }
                }
            });
        }

1 个答案:

答案 0 :(得分:0)

附加一个新选项,welp。已解决。

        function searchLeadsByProjectID(id) {
            $.ajax({
                type: 'GET',
                url: '/modules/support/ajaxLeadSearch2.php',
                dataType: 'json',
                delay: 250,
                data: {"id": id}
            }).success(function (data) {
                var $leadSelect = $('.select2lead');
                for (var index in data) {
                    var d = data[index];
                    var newOption = new Option(d.text, d.id, true, true);
                    $leadSelect.append(newOption).trigger('change');
                }
            });
        }