2016-03-26 5 views
1

で働いていません他のすべての場所で動作します...私は本当にこれについての理由をどのように確信しています。ジープ補間は属性

すぐ下のコードは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

'checked'はブール属性です。つまり、その値ではなくその存在が要素のプロパティを決定することを意味します。それが宣言されている限り、チェックボックスはどの値に設定されていてもチェックされます。チェックボックスをチェックしないようにするには、 'checked'属性を宣言しないでください。 – Terry

+0

私は知っていますが、それは実際には完全に真実ではありません。チェックボックスをチェック= falseにするとチェックできますが、チェック= "false"チェックボックスをオンにします。また、動的なチェックボックスが必要です。私はこれまでにこれまで何の問題もなかった。一部のページではチェックボックスがオンになり、ユーザーによって異なります。なぜ私はそれをすることができないのですか? –

+0

HTML5のdoctypeを使用していますか?それはそれが作り出している違いかもしれません。また、参照してください:http://stackoverflow.com/questions/7851868/whats-the-propervalue-for-a-checked-attribute-of-an-html-checkbox – Terry

答えて

0

翡翠では、checked属性はブール値を使用し、文字列として内挿されません。また、テンプレートのどこかにdoctype htmlが設定されていることを確認してください。次のデータとfalsey値(0undefinednullまたはfalse)で

doctype html 
input(type="checkbox" id="challenge" checked=!!checkedValue name="challenge" value="#{challenge._id}") 

{ 
    challenge: { _id: 1432513 }, 
    checkedValue: false 
} 

<!DOCTYPE html> 
<input type="checkbox" id="challenge" name="challenge" value="1432513"> 

そしてtruthey値を返します

checkedValue: true 

が返されます

<input type="checkbox" id="challenge" checked name="challenge" value="1432513"> 

はブールセクションin the Jade documentation属性とonline demoで上記の値を試してみてください参照してください。