目前我正在使用 UiService 创建一个表单并使用 ListBox,据我所知,通过处理程序传递一个值将类似于e.parameter.[Name of ListBox]来访问所选项目。
有谁知道是否可以使用app.getElementById([Name of ListBox])来访问所选项目。我使用这种方法的原因是因为我的 ListBox-es 列表是动态的。
目前我正在使用 UiService 创建一个表单并使用 ListBox,据我所知,通过处理程序传递一个值将类似于e.parameter.[Name of ListBox]来访问所选项目。
有谁知道是否可以使用app.getElementById([Name of ListBox])来访问所选项目。我使用这种方法的原因是因为我的 ListBox-es 列表是动态的。
我也花了一些时间寻找这个答案,但最后我尝试了一个想法并且它奏效了。
您可以将e.parameter
其用作数组,因此这两个将给出相同的结果:
e.parameter.LIST_BOX_NAME
和
e.parameter['LIST_BOX_NAME']
因此,在第二个示例中,可以使用任何动态列表框 ID。我对所有添加的下拉列表使用相同的处理程序,并使用此代码检查更改了哪些下拉列表以及它现在具有什么值:
if (e.parameter[e.parameter.source] == 'a'){
要更改 listBox 的内容,您可以使用 app.getElementById('ID of the listBox')
,从那里您可以 一次clear()
又一次addItems
地但您无法读取 listItems。当我需要这样做时,我通常将项目列表存储在其他地方,在我可以随时阅读的地方,例如项目列表可以作为字符串存储在 listBox 标记本身中,因此我手头有所有项目清除后重新填充列表框。