DC.js Отключить SelectMenu

У меня есть два selectMenu, я хочу, чтобы selectMenu 2 был отключен, пока пользователь не взаимодействует с selectMenu 1.

Как отключить dc.js - selectMenu в этом сценарии?


person Jael B    schedule 08.08.2018    source источник


Ответы (1)


После первого рендеринга я бы отключил второй selectMenu, используя disabled атрибут. Вам нужно дождаться его рендеринга, потому что до этого элемент select не существует.

Затем, в событии filtered, я снова включу его.

Вот демонстрация с тремя selectMenus.

Соответствующий код:

  dc.renderAll();

  select2.select('select').attr('disabled', 'disabled');
  select3.select('select').attr('disabled', 'disabled');

  select1.on('filtered.enable', function() {
    select2.select('select').attr('disabled', null);
  });
  select2.on('filtered.enable', function() {
    select3.select('select').attr('disabled', null);
  });

(Достаточно ли различных вариантов использования слова «выбрать»?)

person Gordon    schedule 09.08.2018
comment
хахаха... Это сработало! Мне также пришлось внести некоторые соответствующие изменения в кнопки сброса. - person Jael B; 10.08.2018
comment
дополнительный вопрос. Можно ли сохранить фильтрацию избранных меню в одном направлении? Я имею в виду, что selectMenu2 может быть отфильтрован с помощью selectMenu1, но selectMenu1 не должен изменяться, когда я выбираю что-то в selectMenu2. Это возможно? - person Jael B; 24.08.2018
comment
Это возможно, но я думаю, что могут быть некоторые странные крайние случаи. Основная идея состоит в том, чтобы скопировать данные группы в фальшивую группу и подкачать их. Но, как я уже сказал, вы, вероятно, столкнетесь со странными случаями, например, когда вы подменяете их, когда вам нужно подменять их обратно и т. д. Не стесняйтесь задавать другой вопрос, если вам нужна помощь в его обдумывании; Я в отпуске еще неделю. - person Gordon; 25.08.2018