1

私は ODK を初めて使用し、ODK で XForms を作成しようとしています。次のような問題が発生しています。

問題:
ユーザーは、最初のプロンプトから砂利、排水、または未改善を選択します。次のプロンプトは、前のプロンプトで選択したアイテムの評価に関するものです。ここで、前のプロンプトで砂利が選択されている場合はレートを 1 から 5 に設定し、それ以外が選択されている場合はレートを 1 から 4 に設定する必要があります。

私が行ったこと:
2 つのプロンプト (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()" />

これで問題が解決するわけではありません。これは、2 つのプロンプトが想定されておらず、評価値を 1 つの列 (Paser_Rates) に保存する必要があるためです。

ここに画像の説明を入力

これに対する解決策を教えてください。

4

1 に答える 1

0

XForm 用語: これを行う方法は、選択リストを含む 2 次インスタンスで項目セットを使用することです。関連するものの代わりに、XPath 述語を使用して、表示する選択肢を決定します。

XLSForm の用語 XLSForm を使用して XForm を作成すると、これ (および他のフォーム) がはるかに簡単になります。カスケード選択を作成し、関連の代わりに選択フィルターを使用して、表示する選択肢を決定する必要があります。

于 2016-02-10T17:16:58.503 に答える