0

基本的に、いくつかの選択、いくつかのチェックボックス、および1つの入力テキストフィールドで構成されるWebアプリを構築しています。各選択には4つ以上のオプションが含まれています。ユーザーがオプションを選択し、テキスト入力を入力し、可能なチェックボックスをオフにして、[送信]を押すと、テキスト領域にテンプレートテキストが生成されます。生成されるテキストは基本的に、ユーザーが指定したすべてのオプションを使用するテンプレートです。単純な形式では、次のようになります。

  1. ユーザーはselectから「blue」と「hello」を選択し、チェックボックスをチェックせず、入力テキストフィールドに「John」と書き込みます。
  2. 次に生成されるテキストは次のとおりです。

Hello, John, you have a blue car.

さて、上記の例は、私の生成されたテキストが実際にどのようなものであるかよりも約100倍複雑ではありません。そして、ここに質問があります:これをコーディングするための最良の方法は何ですか?現在、私は多くの静的テキストと大量のIFステートメントを含む醜いネストされたswitchステートメントを選択しました。ただし、これには制限があります。複雑さを増すと、現在のswitchステートメントを拡張する限界に達し、別のレベルのswitchステートメントを作成しないようにしたいからです。

テキストの可能なすべてのバリエーションを生成するための最良の方法です(少なくとも200〜250があり、選択したテンプレートを返す単一のswitchステートメントを実行するだけだと思います(ただし、これにより1つの単語/文に変更が適用されます) / etc。悪夢)?または、すべての選択肢を抽象化し、変数だけで最終的なテキストを作成する必要があります(たとえば、上記の例を使用して:$greeting、$ name、$ middle $ color $ object。)?生成するためのベストプラクティスは何ですか?文章?

これはJavaScriptに固有のものではありませんが、私が使用しているものなので、JSでそれを行う方法の提案を歓迎します。ご協力いただきありがとうございます!

4

1 に答える 1

0

これを行う1つの方法は、JSONを使用してデータモデルを作成することです。UIはデータモデルの値を更新し、変更するたびにすべてを出力します。このようにして、多くのロジックをスキップできます。

jQueryテンプレートは、これを機能させるのに役立ちます。

于 2012-12-14T19:13:01.740 に答える