1

我是 ODK 的新手,我正在尝试在 ODK 中创建一个 XForm,以下是我遇到的问题。

问题:
用户从第一个提示中选择 Gravel、Drainage 或 Unimproved。下一个提示是关于在上一个提示中选择的项目的评级。现在,如果选择了 Gravel,我需要将费率设置为 1 到 5,如果在上一个提示中选择了任何其他,我需要将费率设置为 1 到 4。

我所做的:
我设置了两个提示(Paser_Rates 和 Paser_Rates2),每个都有自己的绑定,根据所选提示显示正确的绑定。

<bind nodeset="/widgets/main_repeat/PaserRates" relevant="not(selected(../RoadType, 'gravel'))" type="select1"    required="true()" saveIncomplete="true()" />
<bind nodeset="/widgets/main_repeat/PaserRates2" relevant="selected(../RoadType, 'gravel')" type="select1"    required="true()" saveIncomplete="true()" />

这并不能解决我的问题,因为我不应该有两个提示,我需要将评级值保存在一列(Paser_Rates)中。

在此处输入图像描述

请让我知道您对此有什么解决方案。

4

1 回答 1

0

XForm 术语: 执行此操作的方法是将项集与包含您的选择列表的辅助实例一起使用。使用 XPath 谓词来确定要显示哪些选项,而不是相关项。

XLSForm 术语 如果您使用 XLSForm 创建 XForm,这(以及任何其他形式)会容易得多。您需要创建级联选择并使用选择过滤器而不是相关过滤器来确定要显示的选择。

于 2016-02-10T17:16:58.503 回答