web-dev-qa-db-ja.com

翡翠のチェックボックスのチェックされた属性は、条件に基づいてチェックされていません(if)

Jadeに、条件に基づいてチェックボックスのチェックされた属性をレンダリングさせるにはどうすればよいですか?次の2つのバージョンのHTMLチェックボックスタグのように:

これはチェックされていない唯一の有効なバージョンのようです:

>  <input type="checkbox" name="vehicle" value="Bike">

これがチェックされている間:

> <input type="checkbox" name="vehicle" value="Car" checked="checked">

これが私がこれまでに試したことです:

このジェイドは大丈夫です:

    input(type="checkbox", name="completed", checked=(true===true ? "checked" : "")).checkbox

これをレンダリングするので:

<input type="checkbox" name="completed" checked="checked" class="checkbox">

しかし、このジェイドはうまくありません:

    input(type="checkbox", name="completed", checked=(false===true ? "checked" : "")).checkbox

これをレンダリングするので:

<input type="checkbox" name="completed" checked="" class="checkbox">

これの代わりに:

<input type="checkbox" name="completed" class="checkbox">

Jadeにチェックされた属性の値だけでなく、チェックされた属性全体をレンダリングさせるにはどうすればよいですか?

23
jstevens13

以下を使用できます。

input(type="checkbox", name="completed", checked=(true===false ? "checked" : undefined))
61
Michael Yin

値を指定する必要はありません:

input(type="checkbox", name="completed", checked=(condition))

条件がfalseの場合、チェックされた属性は追加されません。

16

あなたはこのように試すことができます

  option(value='man' selected = profile.sex ==='man') man
  option(value='female' selected = profile.sex ==='female') female
0
Gavin Gong

同じことを行う別の方法は、 'if'条件によるものです。

if(#{data.refrigerated} == '1')
   input(type='checkbox', name='refrigerated', checked)
else
   input(type='checkbox', name='refrigerated')

条件がtrueになると、DOMのチェックボックスがオンになります。そうでない場合は、チェックボックスがオフになります。

0
Mahima Agrawal