0

我在表格中創建了一個Google腳本,它創建了一個側欄。側欄是使用UiApp動態生成的,而不是HTML。用戶點擊其中一個單選按鈕進行選擇(其中可能有200多個,並且它們的值會定期更改,因爲它們是從特定工作表中獲取的)。Google表格腳本 - 從單選按鈕獲取價值,目前未定義

我試圖通過傳遞單選按鈕的價值,但它總是來了爲未定義:

//get the values over 
var MaxRow=250; 
var LookIn=0; 
var L1; var L2; var L3; 
for(LookIn=1;LookIn<MaxRow;LookIn++) 
{ 
    L1=sheet.getRange("AB" + LookIn); 
    L2=sheet.getRange("AC" + LookIn); 
    L3=sheet.getRange("AD" + LookIn); 
    if(L1.getValues()!=""){UIInstance.add(UIInstance.createLabel("_")); UIInstance.add(UIInstance.createHTML("<b>" + L1.getValues() + "</b>"));} 
    if(L2.getValues()!=""){UIInstance.add(UIInstance.createHTML("<b> > > " + L2.getValues() + "</b>"));} 
    if(L3.getValues()!="") 
    { 
    var RadioHandler=UIInstance.createServerChangeHandler('radioButtonsChange'); 
    UIInstance.add(UIInstance.createRadioButton("MyButton").setId(L3.getValues).setText(L3.getValues()).addClickHandler(RadioHandler)); 
    UIInstance.add(UIInstance.createLabel("")); 
    } 
} 
//add the sidebar 
SpreadsheetApp.getUi() 
    .showSidebar(UIInstance); 
} 

function radioButtonsChange(e) 
{ 
    SpreadsheetApp.getUi().alert(e.parameter.source); 
} 

正如我們已經有這麼多的單選按鈕,我基本上使用L3。 getValues()來設置它們的屬性,然後處理器來希望調用它。目前它確實調用了處理radioButtonsChange的處理程序,但它總是引出「undefined」。我不相信它正在通過任何東西。

回答

0

好吧,不知道我做了什麼不同,但它現在工作。

首先東西:

var RadioHandler=UIInstance.createServerChangeHandler('radioButtonsChange'); 
    UIInstance.add(UIInstance.createRadioButton("MyButton").setId(L3.getValues()).setText(L3.getValues()).addClickHandler(RadioHandler)); 
    UIInstance.add(UIInstance.createLabel("")); 

,最後一位:

function radioButtonsChange(e) 
{ 
    SpreadsheetApp.getUi().alert(e.parameter.source); 
} 

沒有線索,去圖。