访问select2 html数据属性

时间:2018-12-10 10:36:28

标签: javascript jquery jquery-select2

我尝试回答以下问题,但没有成功: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,
              };
            })
          };
        })
      };
    },
  }
});

0 个答案:

没有答案