2017-10-11 5 views
0

EJSで問題が発生しているようです。私はEJSが設計されていない何かをしようとしているかもしれません。EJSを使用して編集フォームを動的にレンダリングしよう

私は可変数のフィールドを持つフォームを使用するWebアプリケーションで作業しています。私が編集しているMongoドキュメントにフィールドが1つしかない場合は、追加フィールドの入力ボックスを表示したくありません。

ドキュメントの編集時に表示されるフィールドの数を動的に制御できますが、フィールドの現在の値を動的に表示することはできません。

このような値のタグを使用すると:value=<%= document.field1 %>、正常に動作します。しかし、これは、存在しないフィールドを含め、各フィールドに対して手動で繰り返さなければならない。

私がしたいことは、次のようなものです:value=<%= 'document.field' + (i+1) %>。これは理想的には、上記のコードと同じレンダリングされたHTMLを生成します。しかし、私が見るのは、データベースから取り出したいデータではなく、'document.field1'です。

答えて

0

EJSは、JavaScriptコードを囲む単なる薄いラッパーです。 JavaScriptで書くことができるものはEJSで書くことができますが、それは変更なしでコンパイルされたテンプレートに含まれます。

動的な名前のフィールドを参照するには、ほかのJavaScriptコードと同じように[]を使用します。あなたが提供したコードに基づいて、次のようなものになります:

value="<%= document['field' + (i + 1)] %>" 
+0

ありがとうございます。あなたは私を大いに助けました。 –

関連する問題