3

EJS javasript テンプレートを使用してコード スニペットを作成し、サーバーから返されたデータに応じてラジオ ボタンをチェックするのに助けが必要です。サーバーがjson(my_dataという名前)を返し、これが私のコードだとしましょう

<input type="radio" name="is_public" value=1 <% if(my_data.is_public){ %> <%='checked' %> <% } %> />Public
<input type="radio" name="is_public" value=0 <% if(!my_data.is_public){ %> <%='checked' %> <% } %> />Private

しかし、それはうまくいきません!my_data.is_public = 0 であっても、Public は常にチェックされます。

誰でも助けることができますか?

ところで、EJS で次のようなテキストを「エコー」する方法はありますか。

<input type="radio" name="is_public" value=1 <% if(my_data.is_public){ echo 'checked' } %> />Public
4

2 に答える 2

6

EJS を使用したことはありませんが、他のテンプレート エンジンの経験から、これは機能するはずです。

<input type="radio" name="is_public" value=1 <% if(my_data.is_public){ %> checked="checked" <% } %> />Public
<input type="radio" name="is_public" value=0 <% if(!my_data.is_public){ %> checked="checked" <% } %> />Private

と言うと<%=、それに続く JavaScript の評価結果を出力することになります。たとえば、その時点<%= a %>で変数の内容を出力する必要があります。a

テンプレートで明示的なエコーを行う必要はありません。もちろん、上記のように一部のブロックが条件付きでエコーされたり、ループなどを使用するときに乗算される可能性があることを<% %>考慮して、外部のものはすべてデフォルトでエコーする必要があります。if

于 2012-02-03T04:12:45.873 に答える