2013-06-25 56 views
-1

如何在谷歌應用程序腳本中創建一個下拉菜單,以便在下一個下拉菜單中只顯示有關第一個菜單的特定條目。與第一個下拉菜單中的國家相同,然後僅顯示第二個菜單印度國家名單正在填補。谷歌應用程序腳本資源工具

+0

你在建什麼樣的界面?你可以發佈一些代碼嗎? – Greg

+0

嗨我創建一個資源工具..for酒店房間預訂...就像我從一個下拉選擇建築第二下拉將自動填充該建築物的房間 – 1234

回答

0

你在想什麼like this

的代碼非常簡單,只是將項目添加到列表2中由list1的

數據觸發的處理函數在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; 
    } 
相關問題