当前位置: 首页 > 面试题库 >

select2使用ajax加载数据无法选择任何选项

孟选
2023-03-14
问题内容

我有以下代码(javascript):

$('#cbxConnections').select2({
    minimumInputLength: 0,
    multiple: false,
    allowClear: true,
    placeholder:{
        text:"@Diccionario.Connections",
        id:" @Diccionario.Connections"
    },
    ajax:{
        url:'@Url.Action("GetActiveConnections","Admin")',
        dataType: 'json',
        type:'post',
        data:function(params){
            return {
                q: params.term
            };
        },
        processResults: function(data,page){
            return {
                results: data
            };
        }
    },
    escapeMarkup: function (markup) { 
        return markup; 
    },
    templateResult: function(response){
        return '<div>'+response.Name+'</div>';
    },
    templateSelection: function(response){
        return response.Id;
    },
    id: function(connection){
       console.log(connection);
    }
});

对于服务器端,我正在使用ASP
MVC4。select使用ajax获取数据并呈现选项,但是该选项是不可选择的。在阅读其他文章时,他们使用id函数进行了描述,但是此函数似乎在我使用的2.4的select2版本上不见了

我在github 上显示的文档中遵循ajax的示例
“加载远程数据”


问题答案:

如果您的ajax响应没有 idtext 属性,则应在客户端修复它们

这是4.0版的要求(不知道为什么)

ajax: {

   processResults: function (data, params) {

                params.page = params.page || 1;

                // you should map the id and text attributes on version 4.0

                var select2Data = $.map(data.result.data, function (obj) {
                    obj.id = obj._id.$id;
                    obj.text = obj.name;

                    return obj;
                });

                return {
                    results: select2Data,
                    pagination: {
                        more: data.result.more
                    }
                };
            }

 }


 类似资料:
  • 问题内容: 好的,我确定这里有一个简单的设置错误,但我不是100%是错的。 因此,我尝试使用Select2 AJAX方法作为用户搜索数据库并选择结果的方式。通话本身返回了结果,但是不允许我从列表中选择答案。它似乎也不允许您在悬停或上/下箭头上“选择”它。因此,事不宜迟,这是我的代码: index.html select.js JSON回应 一切似乎都能正确输入,但是我无法真正选择答案并将其输入框中

  • 问题内容: 我正在使用Select2 JS版本4.0.0-rc.1,并且无法通过远程Ajax方法加载建议。 以下是标记和代码 JavaScript jQuery 服务器返回的Json结果 我完全不确定是否需要编写特定的函数来显示建议,有关Ajax部分的评论指出,我们不应更改结果Json数据。 现在有人请告诉我,让代码正常工作以显示建议还需要做些什么。 我想随着新版本的select2发生了很多变化。

  • 目前,我正在使用一个控制器来获取所有数据,并将其放置在视图类中的foreach语句中。因此,每当加载页面时,它都会执行此函数。为了实现这一点,我使用了如下方法: 控制器类: 查看类别: 但是现在我希望页面加载得更快,因此只有当用户单击该特定的select2语句时,我才希望加载下拉列表。我尝试了以下代码来获取具有选择2功能的select2变量,即通过下拉列表获取输入文本,但都不起作用。它只是在我的页

  • 我无法在我的系统上选择Selenium IDE选项: 麦克高塞拉利昂 火狐 52 硒IDE 2.9.1(我知道它很旧,但(通常)它可以工作,我无法更改它! 选择选项具有以下值: 我需要选择值为15的最后一个选项NT* 所有这些命令似乎都不能正常工作: 问题是命令select只选择NT,而不是NT* 可行的方法是: 但是,我没有这个值,所以这个选项是不可能的。我需要用标签选择它。。。 有什么想法吗?

  • 问题内容: 我希望这个问题很简单。 我有一个像这样的普通盒子 我可以获取选定的值(通过使用)和选定项的显示值(通过使用)。 但是,如何在标签中像附加值一样存储呢?我希望能够做类似的事情并获取属性的值(在示例中为3.2)。 问题答案: HTML标记 码 通过使用HTML5中的数据属性,您可以以语法上有效的方式向元素添加额外的数据,该方式也可以从jQuery轻松访问。

  • 在此示例中:https://jsfiddle.net/wqd4ebyn/2/: 我正在尝试使用ajax获取远程数据并使用当前选项预加载列表。除非我删除了ajax,否则它不起作用: 我的列表太大了。我想要的是列出一些非常常见的选项,其余的由ajax列出。当前的实现确实允许两者兼而有之,静态选项或动态选项。我需要两者。