Show/Hide Toolbars

Руководство администратора

Видимость ДП в зависимости от значения другого ДП

Ссылки Назад Вверх Вперед

Старый МТФ

В зависимости от значения ДП с ID=1234 (в данном случае, это ДП типа "Checkbox") скрыть\показать ДП с ID=5678 (в данном случае это ДП типа "Таблица").

$(window).on('MTFMainLoadFinished', function(){

//Получаем объект ДП с ID=1234

var ep1 = new ExtParam(1234);    

 

// Создаем функцию с обработкой изменения ДП

function f_change() {            

  var ep2 = new ExtParam(5678);

  switch(ep1.val()) {

      case 'да':

        ep2.show();        

        break;

      case 'нет':

        ep2.hide();      

        break;

      default:

        ep2.show();

      break;

    }

 }

 

//Привязываем функцию к событию Смены значения ДП с ID=1234

ep1.change( function () {

  f_change();

 });          

 

//Вызываем только что привязанную функцию, чтобы при загрузке ДП с ID=5678 был отображен в соответствии с требованиями условий.

f_change();

});

 

Описанный выше пример отслеживает только "ручное" изменение ДП. Если надо отслеживать также автоматические изменения (в том числе сделанные смартами), то можно использовать следующую конструкцию:

...

var show = true;

 ...

ep1.change(function(fromAutomatization) {

    ...

  if(show && fromAutomatization) {

        ep2.show();

        show = false;

    }

  else {

        ep2.hide();

        show = true;

     }

 });

 ...

Здесь используется событие change(), которое возникает при автоматическом обновлении ДП (в результате работы смарта или других изменений на сервере). В функции, которая подписывается на событие change(), используется параметр fromAutomatization, который равен true при автоматическом обновлении и null при изменении ДП пользователем (однако в силу технических ограничений этот параметр не доступен для ДП типа Lookup или "Выпадающий список").