当前位置: 首页 > 知识库问答 >
问题:

选择2不调用Ajax

益承颜
2023-03-14

我正在使用jQuery select2插件并尝试通过Ajax请求显示数据。但它没有调用Ajax函数,我已经尝试了所有方法,但没有成功。这是我的代码-

html

<select class="form-control " multiple="" data-placeholder="Select Youtube Videos" aria-hidden="true"  name="collection_youtube_videos[]" id="collection_youtube_videos"></select>

Javascipt

$(document).ready(function(){
    $('#collection_youtube_videos').select2({
        ajax: {
            url: url,
            dataType: 'json',
            data: function (params) {
                var query = {
                    //trim the extra whitespace
                    search: params.term.replace(/\s+/g, " ").trim(),
                }

                // Query parameters will be ?search=[term]&type=public
                return query;
            },
            processResults: function (data) {
                // Transforms the top-level key of the response object from 'items' to 'results'
                return {
                    results: data.items
                };
            }
        }
    });
});

我使用以下版本

JQuery-2.1.4

选择2-4.0.0

问题是,当我在select2的输入框中键入内容时,它没有调用这个ajax请求来获取数据。有人能帮我吗?

共有2个答案

窦夜洛
2023-03-14

您必须添加“select2”css类才能选择标签

<select class="form-control select2" multiple="" data-placeholder="Select Youtube Videos" aria-hidden="true"  name="collection_youtube_videos[]" id="collection_youtube_videos"></select>
姚胡媚
2023-03-14

您可以按照以下步骤更改ajax调用

检查此链接以供参考,它包含类似的问题https://stackoverflow.com/a/21602199/6429700

$(document).ready(function(){
    var url = "test.php";
    $('#collection_youtube_videos').select2({
        minimumInputLength: 2,
        tags: [],
        ajax: {
            url: url,
            dataType: 'json',
            data: function (params) {
                var query = {
                    //trim the extra whitespace
                    search: params.term.replace(/\s+/g, " ").trim(),
                }

                // Query parameters will be ?search=[term]&type=public
                return query;
            },
            processResults: function (data) {
                // Transforms the top-level key of the response object from 'items' to 'results'
                return {
                    results: data.items
                };
            }
        }
    });
});
select {
  width: 200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.full.min.js"></script>

<select class="form-control " multiple="" data-placeholder="Select Youtube Videos" aria-hidden="true"  name="collection_youtube_videos[]" id="collection_youtube_videos"></select>
 类似资料:
  • 我无法在微调器中选择项目。当我单击微调器中的项目时,Logcat显示警告 W/InputManagerService(60):窗口已聚焦,忽略:com的聚焦增益。Android内部的看法IIInputMethodClient$存根$Proxy@406f3d90 代码示例 你能帮助我吗?

  • 我有一个复杂的UI设置,如下所示: 谢谢你。

  • 我们使用以下内容来选择“经验信息”包含“582”的所有节点: 这将选择“Kategorien”包含“Restaurant”的所有节点: 我们如何将这两个语句组合成一个语句,以便只选择ExperienceInfo包含582且Kategorien包含Restaurant的节点? 非常感谢您的帮助!

  • 我有下面的代码。它工作,但输入很小。我希望它看起来像任何其他引导输入,即。填充整个div容器。我已经安装了引导主题。我尝试使用.Form-Control类。

  • 颜色在图像风格中比起其他元素显得更为重要。当合理有效地使用颜色时,数据模式会被凸显出来;反之,则会被掩盖。这里有很多数据可视化中关于颜色使用的优秀资源,我推荐阅读这些 Rob Simmon 的博客文章以及这篇更加学术性的论文。 此外,matplotlib 文档也提供了一篇很好的教程来说明一些内置Colormap的感知属性。 seaborn让您在选择与您处理的数据类型和可视化过程中搭配的配色方案变得

  • 所以当我在选项1中输入我的输入后,我选择继续。我的输入信息在选择选项2时消失了。我刚开始我的编程课程,所以请给我很多建议。这是这里的输出输入图像描述