0

我有一个非常笼统的问题,并且不能 100% 确定我只是懒惰还是什么,我似乎无法掌握从哪里开始 :o)

我是 XPages 编程的新手,并且创建了一个运行良好的应用程序,问题是我希望 UI 与我所拥有的完全不同。我发现我的实现太“像笔记”而不是“像网络”了。好吧,抱怨够了——我有一份文件,其中包含一个县、一个省、一个城市以及该特定城市的一些文本。目前我显示一个按县/省/市列出所有文件的视图(XPage)。用户然后选择城市文件,然后打开该文件以显示文本。工作得很好。如您所见,非常“像笔记一样”。我想要的是:用户看到 3 个下拉字段(其中两个无法选择),然后她/他从下拉列表中选择国家。省份字段现在变为活动状态,仅显示该国家的省份。她/他选择了省,所有城市现在都是下一个下拉菜单 - 一旦您选择了城市,文本就会显示在城市名称下方。我想很简单——现在不管我做什么我都无法让它工作:o(

任何指针(可能是某个地方的示例应用程序?)。

提前致谢

问候乌苏斯

4

2 回答 2

0

您应该做的第一件事是获取 Mastering XPages 书的副本并通读它。然后你应该看看渲染和部分刷新将如何帮助你做你想做的事。

您将希望将呈现设置为 false,直到您在上一个字段中输入一些值。然后,在这种情况下,您确定该值是否有效并设置一个标志(可能是一个简单的 viewScope)并对下一个字段进行部分刷新。在该字段的属性中,检查刚刚在前一个字段中设置的 viewScope 标志,如果正确,则将呈现重置为 true 以显示该字段。

于 2013-03-07T18:39:15.537 回答
0

我们已经使用客户端 onchange 事件在 ilsschools.co.uk 的主页上实现了这种功能:

var com2 = XSP.getElementById("#{id:comboBox2}");
XSP.partialRefreshGet("#{id:comboBox2}",
    { onComplete : com2.selectedIndex = 0 });

我们得到了我们想要刷新的元素(即comboBox2,我们也为comboxBox3、4等执行此操作)。然后我们使用partialRefreshGet 来刷新comboBox2 中的选项,这也可以对3、4 和其他comboBoxes 重复。您可以计算组合框的 disabled 属性来禁用它。您可以使用 SSJS 计算组合框的选择。

希望这可以帮助。

于 2013-03-07T19:14:17.233 回答