Google apps脚本资源工具

时间:2013-06-25 13:59:21

标签: google-apps-script

如何在谷歌应用程序脚本中创建一个下拉列表,以便下一次下拉列表中只显示有关第一个下拉列表的特定条目。就像我在第一个下拉列表中选择印度作为国家/地区然后在第二个仅印度州列表中填充

1 个答案:

答案 0 :(得分:0)

你正在考虑like this吗?

代码非常简单,只需在list1

触发的处理函数中将项添加到列表2即可

数据在2D数组中定义。这是这个小型演示应用程序的完整代码。

      var subItems = [['subCategory 1 of 1','subCategory 2 of 1','subCategory 3 of 1','subCategory 4 of 1'],['subCategory 1 of 2','subCategory 2 of 2','subCategory 3 of 2','subCategory 4 of 2'],
                      ['subCategory 1 of 3','subCategory 2 of 3','subCategory 3 of 3']];

function doGet() {
  var app = UiApp.createApplication().setTitle('test listBox');
  var panel = app.createHorizontalPanel().setStyleAttribute('padding','40px');
  var sHdlr = app.createServerHandler('updatelist').addCallbackElement(panel);
  var items = ['category 1','category 2','category 3'];
  var list1 = app.createListBox().setName('list1').setId('list1').addChangeHandler(sHdlr);
  var list2 = app.createListBox().setName('list2').setId('list2').addItem(' .  .  .  .  .  .  .  .  .').setStyleAttribute('marginLeft','40px');
  for(var i =0;i<items.length;++i){list1.addItem(items[i],i)}
  panel.add(list1).add(list2);
  app.add(panel);
  return app;
}    
    function updatelist(e){
      var app = UiApp.getActiveApplication();
      var orig = e.parameter.source;
      if(orig=='list1'){
        var listVal = Number(e.parameter[orig]);
        var list2 = app.getElementById('list2').clear();
          for(var i =0;i<subItems[listVal].length;++i){
            list2.addItem(subItems[listVal][i],i);
            }
          }else{
        //do something else
        }
    return app;
    }