当绑定元素名称不同时,Select2自动完成功能不起作用

姆普萨拉

我正在使用Select2 3.5.2。尝试绑定到labelvalue而不是id的数组时text,Select2自动完成功能不起作用。您能否让我知道我是否缺少任何选择?

jQuery(document).ready(function () {
  var optionsList = [{value: 1, label: 'first'}, {value: 2, label: 'second'}, {value: 3, label: 'third'}, {value: 4, label: 'fourth'}];

  $("#example_select2").select2({ 
    data: optionsList,
    dropdownAutoWidth: true,
    id: 'value',
    formatResult : function(item) { return item.label; },
    formatSelection: function(item) { return item.label; }                        
  });
});
</style><!-- Ugly Hack -->

<script src="https://code.jquery.com/jquery-2.0.3.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2.css" rel="stylesheet" />
<div id="example_select2"></div>

凯文·布朗

您看到的问题不是因为id已更改,而是因为您正在使用label而不是text在数据对象中。Select2默认情况下会在text对象上进行匹配,因此,如果不进行设置,它将无法找到任何东西,这是有道理的。

您可以通过将阵列数据更改为usetext或将value重新映射到键来解决此问题text我也建议您对value密钥进行此操作(使其成为id),但这不是必需的,因为Select2 3.5.2支持该id选项。Select2 4.0.0没有。

jQuery(document).ready(function () {
  var optionsList = $.map(
    [{value: 1, label: 'first'}, {value: 2, label: 'second'}, {value: 3, label: 'third'}, {value: 4, label: 'fourth'}],
    function (obj) {
  obj.id = obj.id || obj.value;
  obj.text = obj.text || obj.label;
 
  return obj;
});

  $("#example_select2").select2({ 
    data: optionsList,
    dropdownAutoWidth: true                       
  });

});
<script src="https://code.jquery.com/jquery-2.0.3.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2.css" rel="stylesheet" />

<input id="example_select2" type="text">

Select2还不支持附加到<div>元素,因此我将其替换为对JavaScript禁用程度更高的<input type="text" />元素。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

自动跳转自动完成功能不起作用

自动完成功能不起作用

vscode键入自动完成功能不起作用

组合框自动完成功能不起作用

阿尔及利亚角度自动完成功能不起作用

HTML自动完成功能不起作用

jQuery自动完成功能不起作用

AJAX 自动完成功能不起作用

Django自动完成功能不起作用

蚀Java自动完成功能不起作用

Godot / GDScript:自动完成功能不起作用

jQuery自动完成功能不起作用?

Jquery 不同类型的自动完成功能不起作用

NSManagedObject子类的Xcode 9.3自动完成功能不起作用?

尝试使其动态时,jQuery AJAX 自动完成功能不起作用

适用于 Unity 的 Visual Studio 自动完成功能不起作用

Visual Studio Code中的标签页自动完成功能不起作用

jquery中的自动完成功能不起作用,但jquery正常运行

为什么我的自动完成功能不起作用?

Windows中OpenCV-Python的自动完成功能不起作用

角材料自动完成功能不起作用,未显示任何错误

设置TextField InputProps时Material-UI自动完成功能不起作用

Google Place by classname自动完成功能不起作用

哦,OSX上的我的ZSH Docker自动完成功能不起作用

初学者:自动完成功能不起作用?

导入语句的Xcode自动完成功能不起作用(cocoapods)

PhpStorm中的TailwindCSS自动完成功能不起作用

选项卡上的NVim Omnisharp-Vim自动完成功能不起作用

更新jquery-ui版本后,自动完成功能不起作用