Google apps script 通过UiApp.getActiveApplication().getElementByID()访问列表框所选项目

Google apps script 通过UiApp.getActiveApplication().getElementByID()访问列表框所选项目,google-apps-script,Google Apps Script,目前,我正在使用UiService创建表单,并使用ListBox,据我所知,通过处理程序传递值类似于e.parameter。[ListBox的名称]来访问所选项目 是否有人知道可以使用app.getElementById([Name of ListBox])来访问所选项目。我之所以使用这种方法,是因为我的列表框是动态的 要更改列表框的内容,您可以使用app.getElementById(“列表框的ID”),从那里您可以再次clear()和addItems,但您无法读取列表项。 当我需要这样做时,

目前,我正在使用UiService创建表单,并使用ListBox,据我所知,通过处理程序传递值类似于e.parameter。[ListBox的名称]来访问所选项目


是否有人知道可以使用app.getElementById([Name of ListBox])来访问所选项目。我之所以使用这种方法,是因为我的列表框是动态的

要更改列表框的内容,您可以使用
app.getElementById(“列表框的ID”)
,从那里您可以再次
clear()
addItems
,但您无法读取列表项。
当我需要这样做时,我通常会将项目列表存储在其他地方,在我可以随时阅读的地方,例如,项目列表可以作为字符串存储在listBox标记本身中,因此在我清除列表框后,我手头有所有项目可以重新填充它。

我也花了一些时间寻找这个答案,但最后我尝试了一个想法,它成功了

您可以使用
e.parameter
作为一个数组,这样您就可以使用这两个参数得到相同的结果:

e.parameter.LIST_BOX_NAME

因此,在第二个示例中,可以使用任何动态列表框ID。我对所有添加的下拉列表使用相同的处理程序,并使用以下代码检查下拉列表的更改内容及其现在的值:

  if (e.parameter[e.parameter.source] == 'a'){ 

你好,谢谢你的回复。我希望实际获取列表框中当前选定项的值,而不是列表框中所有项的值……那么e.parameter.Name恐怕是唯一的方法:-)只有当您需要在处理函数中“动态”修改整个列表时,整个列表才有用(因为您说它们是动态的)
  if (e.parameter[e.parameter.source] == 'a'){