Suitescript - Скрыть поле на основе выпадающего значения - PullRequest
0 голосов
/ 25 октября 2019

Мне нужно скрыть поле в записи, если в раскрывающемся поле выбран определенный параметр. Использование приведенного ниже кода независимо от того, какой выбор я выберу в раскрывающемся списке, скрывается. Любая помощь приветствуется:

define([], function () {
  /*Field Change event*/
               function fieldChanged(context) {
                    var records = context.currentRecord;
                    if (context.fieldId == 'custbody_pick_ship') {
                        var customElement = context.currentRecord.getField({ fieldId: 'custbody_zone' });
                        var type = records.getValue({
                            fieldId: 'custbody_pick_ship'
                        });

                        if (type = "Pick Up") {
                           customElement.isDisplay = false;
                        } else {
                            customElement.isDisplay = true;
                        }
                    }
                }

return {
fieldChanged: fieldChanged
}
}
);

1 Ответ

4 голосов
/ 25 октября 2019

Ваша проблема лежит в строке if (type = "Pick Up"). Один = в JavaScript - это оператор присваивания, что означает, что вы устанавливаете значение переменной type в "Pick Up". Поскольку "Pick Up" - это не ложное значение, выражение всегда будет оцениваться как истинное. Вам нужно использовать либо ==, либо === для проверки равенства (в общем случае предпочтительнее тройное равенство ).

if (type === "Pick Up") {
   customElement.isDisplay = false;
} else {
   customElement.isDisplay = true;
}
...