我尝试回答以下问题,但没有成功:Select2 get html data attribute
如何在引用链接中访问processResults函数中传递的数据的html属性?有人可以提供一个可以使用html数据属性的工作示例吗?还是简短说明如何/在何处获得这些元素?
我想在ajax调用的processResults阶段期间获取html元素。在引用的链接中,提供的解决方案始终返回未定义。另外,我想接收由processResults函数发送的项目的HTML属性。
我将解释我想做什么。 Ajax调用返回的项目分为几类。从一个类别中选择一项时,同一类别中的所有其他项目将被禁用。我想通过获取processResults函数返回的项的html属性并依次禁用它们来实现此目的。
代码很长,因此我将重点介绍更相关的领域。
html部分如下所示:
<select class="form-control attributoSelect2" name="attributiSelezionati" id="attributoSelect2" value="@Model.AttributiSelezionati"></select>
然后,我使用以下配置更新此列表:
$('.attributoSelect2').select2({
placeholder: "Cerca Attributo",
multiple: true,
allowClear: true,
minimumInputLength: 0,
ajax: {
dataType: 'json',
delay: 150,
url: "@Url.Action(MVC.Configurazione.Attributi.CercaAttributi())",
data: function(params) {
return {
search: params.term,
};
},
processResults: function(data) {
aaList = $(this).data('ajax-Search'); // this always returns undefined
return {
results: data.map(function(item) {
return {
id: item.GroupId,
text: item.Descrizione,
children: item.Children.map(function(itemC) {
return {
id: itemC.Id,
groupid: itemC.GroupId,
text: itemC.Descrizione,
};
})
};
})
};
},
}
});