我的问题是在带有动态选项的触摸UI对话框中加载选择字段。这些选项来自通过网络服务的外部 URL,我正在使用我们的全局 javascript 对象之一中定义的 url 来使用此 RESTful 服务,例如
$.get(mec.serviceConfig.baseUrl + '/movies';
请理解,这些选项来自第三方网络服务,请不要提及数据源。每当我搜索动态加载选择选项时,我都会得到本教程
链接到教程这不是我想要的。
在经典UI中,使用选项提供程序很容易。
在触摸 UI 中,我正在尝试编写一个脚本,该脚本在对话框加载时通过 AJAX 从外部 Web 服务获取数据,并在选择字段中设置这些选项。
有没有更好的更简单的方法?有人可以分享代码片段吗?
你应该为你的组件创建JS侦听器。
$document.on("dialog-ready", function() {
// there you should find your select field
//for example
var language = $("[name='./language']").closest(".coral-Select");
//then append to your select field new options from your datasource
});
请参阅文档:动态更新AEM TouchUI对话框选择字段