DepDrop + ajax подгрузка

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

DepDrop + ajax подгрузка

Сообщение unknownby »

Реализовывал ли кто-нибудь зависимость select2 + depdrop, но чтобы в depdrop была подгрузка ajax-ом по частям?
Стандартный DepDrop от kartikа подгружает сразу весь список.
Аватара пользователя
Ghost_nsk
Сообщения: 825
Зарегистрирован: 2012.01.01, 00:45
Откуда: Новосибирск
Контактная информация:

Re: DepDrop + ajax подгрузка

Сообщение Ghost_nsk »

unknownby писал(а): 2020.03.24, 09:13 Реализовывал ли кто-нибудь зависимость select2 + depdrop, но чтобы в depdrop была подгрузка ajax-ом по частям?
Стандартный DepDrop от kartikа подгружает сразу весь список.
не знаю чем Вы пользуетесь на фронте, опишу на примере jquery. Есть два дропа, второй не активный. Вешаем обработчик on change на первый дроп.

Код: Выделить всё

$(document).on('change', '#drop1', function(){
      // send a request to the server
      $.ajax({
          url: '/ajax/action-url',
          type: 'POST',
          dataType: 'json',
          data: {
              id: $(this).val()
          },
          success: function(data){
              // some logic
          }
      });
});
В экшене фильтруете по id, это может быть либо родитель, либо какая-то другая связка. Возвращаете массив и через параметр data расшариваете его во втором дропе.
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: DepDrop + ajax подгрузка

Сообщение unknownby »

Ghost_nsk писал(а): 2020.03.25, 07:00
unknownby писал(а): 2020.03.24, 09:13 Реализовывал ли кто-нибудь зависимость select2 + depdrop, но чтобы в depdrop была подгрузка ajax-ом по частям?
Стандартный DepDrop от kartikа подгружает сразу весь список.
не знаю чем Вы пользуетесь на фронте, опишу на примере jquery. Есть два дропа, второй не активный. Вешаем обработчик on change на первый дроп.

В экшене фильтруете по id, это может быть либо родитель, либо какая-то другая связка. Возвращаете массив и через параметр data расшариваете его во втором дропе.
Сам функционал похож на то, что я использую. DepDrop от kartik-v поддерживает такую же вещь, как зависимость (от того же Select2 тоже kartik-v). Просто при этой зависимости по url приходит весь список сразу, а там от 8к до 10к записей, в принципе нагрузка не сильно большая, но хотелось бы эти записи выводить по 20 и при прокрутке вниз, чтобы срабатывал ajax и подгружал следующие 20 записей. Если готового виджета под это дело нет, то не критично :)
Ответить