Google App Script: вопрос раздела 2, уникальный для ответов раздела 1 - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь создать форму для сбора запросов от студентов. На первой странице у меня есть CheckboxItem со всеми курсами, доступными для конкретного учащегося в зависимости от уровня обучения. Я хочу создать следующий раздел на основе ответа студентов на первый вопрос. Студент выберет 7 курсов из Раздела 1, затем я хочу GridItem в Разделе 2 со строками, помеченными ответами на первый вопрос.

Как лучше всего это сделать? Нужно ли мне создавать две формы: одну, которая выбирает семь курсов, а затем другую, которая извлекает эти ответы из GoogleSheet для помещения в таблицу? (Я бы предпочел, чтобы это было сделано в одной форме, если это возможно)

Это то, что я имею до сих пор, я не уверен, что должно быть на месте строк для GridItem:

  var form = FormApp.create('Test Grade All');
  var SelectClass = form.addCheckboxItem();
  var classValidation = FormApp.createCheckboxValidation()
     .requireSelectAtLeast(4)
     .requireSelectAtMost(7)
     .build();
  var Selection = form.getItems();
  var Page = form.addPageBreakItem();
  var SelectRank = form.addGridItem();
  var rankValidation = FormApp.createGridValidation()
     .setHelpText('Select one item per column.')
     .requireLimitOneResponsePerColumn()
     .build();

  SelectClass
    .setTitle('Select up to seven (7) electives.')
    .setChoices([
      SelectClass.createChoice('Class1'),
      ....
      SelectClass.createChoice('ClassN')
      ]);

SelectClass.setValidation(classValidation);

Page;



SelectRank
      .setTitle('Rank Electives in Order of Preference.')
      .setRows([
        SelectClass.getChoices()
        ])
      .setColumns(['1st Choice',..., '7th Choice']);

SelectRank.setValidation(rankValidation);

}  
...