XPages-在typeahead选择中填充多个字段

XPages-在typeahead选择中填充多个字段,xpages,xpages-ssjs,typeahead,Xpages,Xpages Ssjs,Typeahead,这可能是一个直截了当的问题,但我现在看不到树木的存在 问题:我有一个typeahead附加到一个编辑框,它从视图中查找值。选择值后,我希望XPage上的其他编辑框中填充从相应文档中提取的值 例如:用户名编辑框有一个从NAB向上看的typeahead。我从typeahead列表中选择Joe Bloggs姓名,并希望电子邮件、电话和位置编辑框立即填充他NAB条目中的值 我为此感到非常震惊,因为我确信有一个简单而明显的解决办法。谢谢。从typeahead中选择一个值将触发为编辑框定义的任何onChan

这可能是一个直截了当的问题,但我现在看不到树木的存在

问题:我有一个typeahead附加到一个编辑框,它从视图中查找值。选择值后,我希望XPage上的其他编辑框中填充从相应文档中提取的值

例如:用户名编辑框有一个从NAB向上看的typeahead。我从typeahead列表中选择Joe Bloggs姓名,并希望电子邮件、电话和位置编辑框立即填充他NAB条目中的值


我为此感到非常震惊,因为我确信有一个简单而明显的解决办法。谢谢。

从typeahead中选择一个值将触发为编辑框定义的任何onChange事件。您可以通过直接从该事件中更新数据源来设置其他字段:

var selectedName = currentDocument.getValue("contactName");
currentDocument.setValue("emailAddress", getEmail(selectedName));
currentDocument.setValue("phoneNumber", getPhone(selectedName));
currentDocument.setValue("location", getLocation(selectedName));

当然,上面的示例假设这些是您的字段名,并且在其他地方定义了命名函数。

谢谢Tim,这为我指明了正确的方向。我原以为我写的东西更像getComponentemailAddress.setValuegetEmailselectedName。。。而不是更新数据源。出于最佳实践或其他原因,我是否应该更新数据源而不是Xpage本身?这种方法之所以是最佳实践,有几个原因,但可以说最重要的是未来验证和性能。