Доступ к атрибуту данных select2 html - PullRequest
0 голосов
/ 10 декабря 2018

Я попытался ответить на этот вопрос, но безуспешно: Select2 получить атрибут данных html

Как получить доступ к свойствам html данных, передаваемых в функции processResults по ссылочной ссылке?Может ли кто-нибудь предоставить рабочий пример с доступными свойствами данных html?Или дать краткое объяснение того, как / где получить эти элементы?

Я хотел бы получить элементы html во время фазы processResults вызова ajax.В ссылочной ссылке предоставленное решение всегда возвращает undefined.Также я хотел бы получить свойства HTML для элементов, отправляемых с помощью функции processResults.


Я объясню, что я хотел бы сделать.Элементы, возвращаемые вызовом ajax, группируются по категориям.Когда один элемент выбран из одной категории, все остальные элементы в той же категории становятся недоступными.Я хотел бы добиться этого, получая html-свойства элементов, возвращаемых функцией processResults, и последовательно отключая их.

Код довольно длинный, поэтому я выделю более важные области.

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,
              };
            })
          };
        })
      };
    },
  }
});
...