25

如何让玉根据条件呈现复选框的选中属性?就像这两个版本的 HTML 复选框标记一样:

这似乎是 unchecked 的唯一有效版本:

>  <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 呈现整个检查属性,而不仅仅是检查属性的值?

4

4 回答 4

65

您可以使用:

input(type="checkbox", name="completed", checked=(true===false ? "checked" : undefined))
于 2013-01-03T21:47:34.997 回答
18

无需指定值:

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

如果条件为假,则不会添加选中的属性。

于 2015-07-20T11:59:19.090 回答
0

做同样事情的另一种方法是通过“如果”条件:

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

当条件为真时,您将在 DOM 上选中复选框,否则您将获得未选中的复选框。

于 2016-10-13T06:29:38.557 回答
0

你可以试试这样

  option(value='man' selected = profile.sex ==='man') man
  option(value='female' selected = profile.sex ==='female') female
于 2016-11-29T05:37:53.920 回答