2013-01-03 37 views
21

如何让玉得到基于条件的复选框的选中属性? 像HTML复选框标签的这两个版本:玉的复选框检查属性取消选中基于条件(if)

这似乎是不受控制的唯一有效的版本:

> <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">

如何让玉使整个检查属性,而不是检查attibute的只是价值?

回答

58

您可以使用:

input(type="checkbox", name="completed", checked=(true===false ? "checked" : undefined)) 
+0

WOW - 这工作!谢谢! – jstevens13

+0

感谢您的回答 – Erik

14

无需指定值:

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

如果条件为假,也没有检查属性将增加。

+0

完美工作! – Nocturno

+0

checked = false仍显示已检查? –

+1

不,如果条件为false,为空或未定义,则“checked”将被忽略 –

0

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

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

当条件将是真实的,你将得到选中的复选框,否则你会得到未选中的复选框。

0

你可以尝试这样的

option(value='man' selected = profile.sex ==='man') man 
    option(value='female' selected = profile.sex ==='female') female 
相关问题