它适用于其他任何地方......我真的不确定如何推理这个。
下面的代码会插入checkedValue,但因为checkedValue周围有“”,所以它会保持选中该框。但是我不能删除引号,否则它将无效。
extends layout
block content
h1.headLine= challenge.title
p Difficulty: #{challenge.difficulty} #{checkedValue} Points: #{challenge.points} //checkedValue interpolates to true or false
p= challenge.description
form(action="/submitChallenge" method="post")
label(for="challenge1") Mark as Solved!
input( type="checkbox" id="challenge" checked="#{checkedValue}" name="challenge" value="#{challenge._id}" )
p #{checkedValue} //interpolates here too, without any " "
button(type="submit") Submit
以下代码只是将#{checkedValue}保留为原样而没有任何插值。所以..这也不起作用,即使#{challenge._id}工作得很好!:
input( type="checkbox" id="challenge" "#{checkedValue}" name="challenge" value="#{challenge._id}" )
我也尝试删除引号。
似乎没什么用。目前变量是一个布尔值,但如果我无法进行插值则无关紧要!
我已经考虑将其设置为“已选中”或“”未经检查,但是......我仍然需要对其进行插值。
答案 0 :(得分:0)
在Jade中,checked
属性应使用布尔值,而不是作为字符串进行插值。另外,请确保在模板中的某处设置doctype html
。
doctype html
input(type="checkbox" id="challenge" checked=!!checkedValue name="challenge" value="#{challenge._id}")
使用以下数据和假名值(0
,undefined
,null
或false
)
{
challenge: { _id: 1432513 },
checkedValue: false
}
将返回
<!DOCTYPE html>
<input type="checkbox" id="challenge" name="challenge" value="1432513">
一个三位一体的价值
checkedValue: true
将返回
<input type="checkbox" id="challenge" checked name="challenge" value="1432513">
请参阅布尔属性部分in the Jade documentation并在online demo中尝试上述值。
答案 1 :(得分:0)
试试这个:
doctype html
input(type="checkbox" id="challenge" value='' + challenge._id)