Select2添加了我无法删除的空跨度

时间:2017-11-17 12:16:32

标签: javascript jquery ajax jquery-select2

我有一个以这种方式定义的多重选择:

<select class="form-control" name="citiesNotValid">

如果我将它初始化为select2,它会复制select元素,一个工作并填充我的预选选项,另一个空,不工作。 这是select2的初始化:

    $(s).select2({
    language: "it",
    placeholder: {
        id: '-1', // the value of the option
        text: 'All'
    },
    width: '100%',
    //multiple: true,
    allowClear: true,
    ajax: {
        delay: 500,
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: o,
        dataType: "json",
        cache: 1,
        data: function (params) {
            var query = JSON.stringify({
                country_code: country,
                search: params.term
            })

            return query;
        },
        processResults: function (t) {
            return {
                results: $.map(JSON.parse(t.d), function (obj) {
                    if (obj.city_name == "-") {
                        return { id: "-1", text: "Tutte" };
                    }
                    return { id: obj.city_name, text: obj.city_name };

                })
            };
        },
        error: function (t, o, i) {
            var n = "Si è verificato un errore. Controlla di aver passato correttamente tutti i parametri.";
            //if (t.statusText != null && t.statusText != "")
            // n = t.statusText;
            "toastr" == a && toastr ? toastr.error(n) : "notific8" == a && $.notific8 ? ($.notific8("zindex", 11500), $.notific8(n, {
                theme: "ruby",
                life: 3e3
            })) : console.log(n)
        }
    },
    minimumInputLength: 2,
});

}

当我以这种方式运行代码时,它会创建第二个<span>元素,我可以在我的Chrome控制台中看到它,但如果我尝试在我的jQuery代码中删除它,我找不到它,喜欢它不存在。 enter image description here enter image description here

我注意到的另一件事是,如果我添加到我的select select2类,它只创建一个select,但不会触发Ajax。

2 个答案:

答案 0 :(得分:0)

你是否使用空option作为你html选择的第一个元素?如果是这样,请尝试将其删除。

答案 1 :(得分:0)

之所以这样,是因为您没有将select2样式表链接到您的页面。