gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 07:27:13 26 4
gpt4 key购买 nike

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

经典模式下的(预填充选择列表)可以正确显示和工作(select2 搜索..)。

在其他页面使用旧版本3.5.2,不会出现该问题...!

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

谢谢

这是 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 事件监听器,以将包含所选值的选择添加到您的 formType 中。这是完整的其他主题:)

问题是我在表单事件监听器中定义的新 select 没有正确的参数(类、数据属性......),从而阻止了 select2 工作。

我的错!

所以主题宁愿在 Symfony 2 线程中找到自己的位置..

关于javascript - Ajax 模式下的 Jquery Select2 V4 在 IE9 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29510133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com