2012-08-03 201 views
3

我想所選項目的索引在谷歌Apps腳本列表框中沒有選擇的項目本身。所有我到目前爲止看到通過如何獲取列表框中所選項目的索引?

var list1Value = e.parameter.list1; 

創建獲取列表框中的值服務器處理器的例子我想要得到的指數,雖然這樣我就可以索引到一個數組。我試圖用這個解決方案 http://productforums.google.com/forum/#!category-topic/apps-script/services/vXa57-9T6E4 但我的腳本抱怨的indexOf無法識別

var currentmonth = months.indexOf(e.parameter.list1); 

人對如何獲得該指數是一個好主意?順便說一句,這是一個谷歌應用程序腳本運行在網站不在電子表格,如果這有所作爲。

+0

什麼是'months'在你的腳本? – Bergi 2012-08-04 13:38:25

+0

我有一個電子表格,我正在抽出幾個月時間。這只是標準的一月,二月 – Mathitis2Software 2012-08-04 14:48:01

+0

'VAR phoneBillSpreadsheet = SpreadsheetApp.openById(SPREADSHEET_ID); VAR片= phoneBillSpreadsheet.getSheets(); months = sheets [0] .getRange(1,2,1,11).getValues();' phoneBillData = sheets [0] .getRange(3,2,6,11).getValues();' – Mathitis2Software 2012-08-04 14:53:12

回答

1

對方回答,因爲谷歌Apps Script是谷歌的服務器上執行,而不是在你的瀏覽器和indexOf()在氣井的認可並沒有太大的意義。

您應該使用數組使用listArray.indexOf(listelement);你會得到所選項目的索引,你列表框的元素,然後。

例如:

//in the UI construction 

var ItemlistArray = ['item1','item2','item3','item4'];// note that this variable definition could be placed outside of the function so it becomes a global variable... 
for (n=0,n<ItemlistArray.length;++n){ 
ListBox.addItem(ItemlistArray[n] 
} 

//in the Handler function 

var item = e.parameter.listBoxName 
var ItemlistArray = ['item1','item2','item3','item4'];// if ItemlistArray is global this line can be removed 
var index = ItemlistArray.indexOf(item); // if for example the selected item was 'item3', index will be 2 
+0

請您詳細說明UI構建部分?您不使用「選擇單元格」→驗證→條件→項目列表構建項目列表。 – Jonny 2014-07-17 09:31:24

+0

對不起,我沒有訪問我的電腦......我在霍利迪的,但很快回來:) – 2014-07-18 12:19:40

相關問題