Проблемы с выпадающими списками, отображающими информацию в заполняемом PDF-файле на основе предыдущего выбора - JS - PullRequest
0 голосов
/ 28 апреля 2020

Я довольно новичок в JS, и у меня возникли некоторые проблемы с получением нескольких раскрывающихся списков в PDF для отображения одной и той же информации на основе другого варианта раскрывающегося списка.

Итак, допустим, у меня есть 5 выпадающих меню в моем PDF (от 1 до 5). Раскрывающийся список 1 заполняет раскрывающийся список 2. В зависимости от выбора раскрывающегося списка 2 в раскрывающемся меню 3–5 должна отображаться та же информация.

Пример:

Выпадающий список 2 имеет 3 варианта выбора (A, B, C). Если выбран вариант А, в раскрывающихся списках 3-5 должно отображаться 1,2,3. Если выбран B, каждый должен отображать 4,5,6. Если выбран C, на каждом должно отображаться 7,8,9.

Все, что я когда-либо смогу получить, - это раскрывающийся список 3. Остальные просто отображаются пустыми.

Код выглядит следующим образом :

var dropdown = this.getField("Dropdown2");
var crewtype = 0;
for (i=0; i<dropdown.numItems; i++) {
    if(dropdown.getItemAt(i, false) == event.value) {
        crewtype = dropdown.getItemAt(i, true);
    }
}

switch (crewtype) {
    case "A": this.getField("Dropdown3").setItems(
            ["1", "2", "3"]);
        break;
    case "A": this.getField("Dropdown4").setItems(
            ["1", "2", "3"]);
        break;
    case "A": this.getField("Dropdown5").setItems(
            ["1", "2", "3"]);
        break;
    case "B": this.getField("Dropdown3").setItems(
            ["4", "5", "6"]);
        break;
    case "B": this.getField("Dropdown4").setItems(
            ["4", "5", "6"]);
        break;
    case "B": this.getField("Dropdown5").setItems(
            ["4", "5", "6"]);
        break;
    case "C": this.getField("Dropdown3").setItems(
            ["7", "8", "9"]);
        break;
    case "C": this.getField("Dropdown4").setItems(
            ["7", "8", "9"]);
        break;
    case "C": this.getField("Dropdown5").setItems(
            ["7", "8", "9"]);
        break;
    default: this.getField("Dropdown3").setItems(
            ["Select Code:"]);
        break;
}

Извините за грязный код, я примерно такой же зеленый, как и код зеленого цвета.

Как получить раскрывающиеся списки 4 и 5, отображающие ту же информацию, что и раскрывающийся список 3 ?

Спасибо!

1 Ответ

0 голосов
/ 28 апреля 2020

Ваш корпус переключателя ломается после каждого случая. Вы, вероятно, должны забить это как:

 switch (crewtype) {
  case "A":
    this.getField("Dropdown3").setItems(["1", "2", "3"]);
    this.getField("Dropdown4").setItems(["1", "2", "3"]);
    this.getField("Dropdown5").setItems(["1", "2", "3"]);
    break;
  case "B":
    this.getField("Dropdown3").setItems(["4", "5", "6"]);
    this.getField("Dropdown4").setItems(["4", "5", "6"]);
    this.getField("Dropdown5").setItems(["4", "5", "6"]);
    break;
  case "C":
    this.getField("Dropdown3").setItems(["7", "8", "9"]);
    this.getField("Dropdown4").setItems(["7", "8", "9"]);
    this.getField("Dropdown5").setItems(["7", "8", "9"]);
    break;
  default:
    this.getField("Dropdown3").setItems(["Select Code:"]);
    break;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...