Select2:如何从ajax获得其他响应?

时间:2019-02-25 11:45:02

标签: javascript jquery ajax jquery-select2

对不起,我英语不好。我只是想问有关select2 ajax的问题​​,我对此有疑问,我不知道如何从我的API中获得其他响应。

这是我的API的响应。

enter image description here

所以我想在select2更改时获取邮政编码值。但我不知道得到它。

这是我的代码。

$(".myselect").select2(
    {
theme: "bootstrap4",
placeholder: "Provinsi, Kota/Kab, Kecamatan, Kelurahan",
minimumInputLength: 3,

        ajax: {
            url: url, //changing by env
            dataType: 'json',
            type: "GET",
            delay: 150,
            data: function (params) {

                return {
                    filter: params.term
                };
            },
            processResults: function (data, params) {

                        var res = data.data.locations.map(function (item) {

                            return {
                                id: item.id, 
                                text: item.name,
                                zip: item.zip_code
                            };
                        });
                return {
                    results: res
                };

            },
            templateResult: function(result) {
                return result.text;
            },
            templateSelection: function(selection) {
                return selection.text;
            }

        },



       }).on('change.select2', function(e){

        console.log($(this).val(e.text));
        villText = $("#village option:last-child").text();
        var villVal = $("#village option:last-child").val();
        // console.log($("#village option:last-child").val())
        // var villVal1 = $("#village option:last-child").val();
        villKel = villText;
        villKel = villKel.split(',')[2];
        $("#village_kel").val(villKel);

        var villx = $('#village_land');

        var vill_land = $("#village_land option:last-child").text();
        vill_land_kel = vill_land;
        vill_land_kel = vill_land_kel.split(',')[2];
        $("#villageland_kel").val(vill_land_kel);


           $('input[name="domisili"]').click(function() {
            if ($(this).attr("value") == "1") {
                if(villx.empty()) {
                    villx.append($('<option></option>').attr('value', villVal).text(villText));
                    villx.prop('selectedIndex', 0);


                }
                else {
                    villx.append($('<option></option>').attr('value', "").text(""));
                }
            }


           })

        });

下面的图片是当我从API中获取值文本时的结果。 enter image description here

0 个答案:

没有答案