Списком скриптов Google Apps Начните с предыдущего списка ListBox. Я могу получить 2, но не 3

Необходимо немного помочь выяснить, как получить 3 списка ящиков для заполнения на основе предыдущего списка. До сих пор у меня есть 1 список, который заполняется из электронной таблицы. Может ли кто-нибудь помочь мне с настройкой, чтобы второй список был заполнен на основе первого и третьего списков, которые будут заполняться на основе первого списка? Вот код:

function doGet(e){
  var app = UiApp.createApplication();
  var mainPage = app.createVerticalPanel().setId('mainPage');
  var dataItemsLB = app.createListBox().setId('dataItemsLB').setName('dataItemsLB'); 
  var dataItemsLbl = app.createLabel('Data Items'); 
  dataItems(dataItemsLB);
  mainPage.add(dataItemsLB);
  app.add(mainPage);
  return app;
  }


  function dataItems(listbox){
  var app = UiApp.getActiveApplication();
  var ss = SpreadsheetApp.openById('0AhraBJOts4V3dDhYbERTR0hFNUtNdEhZd2c4OElpY0E');
  var list = ss.getSheetByName('dataItems');
  var values = list.getRange(1,1,ss.getLastRow(),1).getValues();
  for (var i in values){
  listbox.addItem(values[i][0].toString());
  }
  return app;
  }

Код выше только для 1 списка, но я думал, что это поможет мне начать снизу, поэтому я понимаю любое объяснение. Спасибо за любой совет!

0
nl ja de

1 ответы

Ответьте на сообщество, попробуйте этот код:

function doGet(e){
  var app = UiApp.createApplication();
  var mainPage = app.createVerticalPanel().setId('mainPage');
  var dataItemsLB = app.createListBox().setId('dataItemsLB').setName('dataItemsLB');//create a basic list box
  var dataItemsLB2 = app.createListBox().setId('dataItemsLB2').setName('dataItemsLB2');//create a basic list box
  var dataItemsLB3 = app.createListBox().setId('dataItemsLB3').setName('dataItemsLB3');//create a basic list box
  var dataItemsLbl = app.createLabel('Data Items'); 
  dataItems(dataItemsLB);//call the "dataItems" function to populate the list box


 //Create Server Handlers
  var sHandlerLB = app.createServerHandler("listLBSelect");
  sHandlerLB.addCallbackElement(mainPage);
  dataItemsLB.addChangeHandler(sHandlerLB);
  dataItemsLB2.addChangeHandler(sHandlerLB);  

  mainPage.add(dataItemsLB);
  mainPage.add(dataItemsLB2);
  mainPage.add(dataItemsLB3);
  app.add(mainPage);

  return app;
}


function dataItems(listbox){
  var app = UiApp.getActiveApplication();
  var ss = SpreadsheetApp.openById('0AhraBJOts4V3dDhYbERTR0hFNUtNdEhZd2c4OElpY0E');
  var list = ss.getSheetByName('dataItems');
  var values = list.getRange(1,1,ss.getLastRow(),1).getValues();
  for (var i in values){
    listbox.addItem(values[i][0].toString());
  }
  return app;
}

function listLBSelect(e) {
  var app = UiApp.getActiveApplication();
  Logger.log(e);
  Logger.log("Listbox changed: " + e.parameter.source);
 //check which listbox has been changed:
  switch(e.parameter.source) {
    case "dataItemsLB":
      var dataItemsLB2 = app.getElementById("dataItemsLB2");
      dataItemsLB2.addItem("aaaaaa"); 
      dataItemsLB2.addItem("bbbbbb"); 
      dataItemsLB2.addItem("cccccc"); 
      break;
    case "dataItemsLB2":
      var dataItemsLB3 = app.getElementById("dataItemsLB3");
      dataItemsLB3.addItem("hhhhhh"); 
      dataItemsLB3.addItem("jjjjjj"); 
      dataItemsLB3.addItem("kkkkkk"); 
      break;     
  }
  return app;
}
1
добавлено
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском

Google Apps Script RC
Google Apps Script RC
269 участник(ов)

Сайт contributor.pw | G Suite чат t.me/gsuiterc | Персональные консультации от $10/час @oshliaer