jQuery Select2远程数据加载:显示选项而不是占位符

jQuery Select2 with remote data loading: display options instead of placeholder

本文关键字:选项 显示 占位符 加载 Select2 程数据 数据 jQuery      更新时间:2023-09-26

我使用Select2作为自动建议。这意味着,我通过ajax从远程源获取选项。这是完美的。

现在,客户希望在开始输入之前加载所有选项。这有点违背了建议的目的,但如果他想那样做,他就会得到它。

无论如何,我需要在用户开始输入之前显示前50或100个元素,在第三个输入字符之后,Select2输入应该再次获取选项。

我尝试用选项值预填充选择(例如"aa","bb"answers"cc"),但它只显示占位符。是否有可能在用户单击选择时立即发送请求?这也是有可能的,因为远程源可以发回前50个结果。如果有人能指引我正确的方向,我会很感激:)

如果有人遇到同样的问题,一个快速的解决方案:

  1. 设置"minimumInputLength"为0。这样,一旦用户打开Select2输入元素,就会发送请求。搜索参数当然是一个空字符串

  2. 在"processResults"函数中添加允许分页的逻辑。返回的对象需要一个带有布尔成员"loadMore"的"分页"属性。你可以在这里阅读更多内容:https://stackoverflow.com/a/29022107/430997这样你就启用了无限滚动。当然你也需要在服务器端支持分页结果

  3. 你可以选择从不同的位置获取资源。ajax选项的"url"参数可以是一个函数。如果您想根据字符数调用不同的端点(主要是检查,如果字符数为0),您可以在url函数中检查它并返回适当的端点。

这只是一个变通方法,只模拟初始值。如果有人对我的问题有一个真正的答案,请贴出来:)

相关文章: