Ajax模式下的Jquery Select2 V4在IE9中不起作用

Jquery Select2 V4 in Ajax mode not working in IE9

本文关键字:IE9 不起作用 V4 Select2 模式 Jquery Ajax      更新时间:2023-09-26

在表单的select元素中使用Select2 4.0,那些打算在Ajax模式中动态填充的元素在IE9中不起作用。它显示一个没有占位符的空选择。

经典模式下的那些(预先填写的选择列表)正在正确显示和工作(select2 search..)。

在其他页面中使用旧版本3.5.2时,问题不会出现。。。!

这是一个已知的问题吗?可修复的?

Thx

这是JS:

$(".select2Ajax").not(".select2-container").each(function(){
        var min = $(this).data('min'); // 3
        var configs = {
            "width":"100%",
            language: $locale, // 'fr'
            ajax: {
                    dataType: 'json',
                    delay: 250,
                    data: function (params) {
                        return {
                            q: params.term
                        };
                    },
                    processResults: function (data, page) {
                        return {
                            results: data
                        };
                    },
                    cache: true
                },
            escapeMarkup: function (markup) { return markup; }, 
            minimumInputLength: min
        };
        $(this).select2(configs);
    })//.each

HTML:

<select id="contrat_kam" name="contrat[kam]" class="select2Ajax form-control" data-min="3" data-ajax--url="/My/Ajax/Source/url-returning-json-formatted-list/from-search-term">
    <option value="">Here is my intitial placeholder</option>
</select>

在普通客户端(Chrome)中,当输入select2字段时,服务器返回的内容示例:

[{"id":"75484567","text":"Bestnameever Ronald"},{"id":"12344568","text":"Nameofdude C'u00e9dric"},{"id":"01202795","text":"SecondDudesName John"},{"id":"00709297","text":"Doe John"}]

感谢

好的,我解决了我的问题,但这不是JS/IE问题。

我在Symfony 2下工作。提交表格后出现问题。如果出现验证错误,Symfony会再次显示表单页面,并在字段中显示错误。

我在AJAX模式下使用Select2,因为选项列表太重,无法处理,几乎导致浏览器崩溃,需要显示7000多个选项。。因此,我创建了select(sf2实体选择列表),其中包含一个空的选项列表数组。

但是如果您试图用新值保存表单,而新值不在(空的)原始选择列表中,SF不会验证它,并抛出验证错误。

所以您必须添加一个表单PRE_SUBMIT事件侦听器,才能将包含所选值的select添加到您的表单类型中。哪个是完整的其他主题:)

问题是,我在表单事件侦听器中定义的新select没有正确的参数(类、数据属性..),导致select2无法工作。

我的坏!

因此,主题宁愿在Symfony 2的线索中找到自己的位置。。