我是ODK的新手,我正在尝试在ODK中创建一个XForm,以下是我遇到的问题。
问题:
用户从第一个提示中选择Gravel,Drainage或Unimproved。下一个提示是关于在上一个提示中选择的项目的评级。现在,如果选择了“砾石”,我需要设置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)。
请让我知道你有什么解决方案。
答案 0 :(得分:0)
XForm术语: 执行此操作的方法是将项目集与包含您的选择列表的辅助实例一起使用。而不是相关者使用XPath谓词来确定要显示的选项。
XLSForm术语 如果您使用XLSForm创建XForm,则此(以及任何其他形式)将更容易。您需要创建cascading select并使用选择过滤器而不是相关过滤器来确定要显示的选项。