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

我有以下代码(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响应没有 和 属性,则应在客户端修复它们

这是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

}

};

}

}

以上是 select2使用ajax加载数据无法选择任何选项 的全部内容, 来源链接: utcz.com/qa/419491.html

回到顶部