2011-12-07 13 views
1

のチェックボックスの値を設定するこんにちは、私はのようないくつかのコードを持っている:項目がチェックされていない他のアクティブであれば、私が達成しようとしていた何はどのようにコード

foreach (var item in Model) { 
     <div> 
      @Html.DisplayFor(modelItem => item.UserRole.Role.Name) 
     </div> 
     <div> 
      <input type="checkbox" name="ids" checked="@item.Active" /> 
     </div> 
    } 

は、チェックボックスのチェックを設定しました。

私は構文はchecked="checked"する必要があります理解し、私は私がチェックに真と偽何のために行うために変換する方法を理解していないchecked="true"

としてそれを設定しました。

私は三元を使用しようとしていましたが、うまくいきませんでした。誰でも助けることができますか?

+0

使用しているサーバー側の言語/フレームワークは、それに応じてタグ付けしてください。 –

答えて

2

チェックされた属性が存在すると、チェックされます。つまり、属性の値が何であるかは問題ありません(AFAIK)。だから、すべてのchecked属性を追加するか否かを検出する必要があります。

foreach (var item in Model) 
{ 
     <div> 
      @Html.DisplayFor(modelItem => item.UserRole.Role.Name) 
     </div> 
     <div> 
       <input type="checkbox" name="ids" @if (item.Active) { Write("checked"); }/> 
     </div> 
    } 

編集:非常にクリーン、MДΓΓБДLLバージョンに変更します。

1つのブルートフォースアプローチ= P

+0

私はテンプレートのこの特定の風味に精通していません。これもちょうどうまく動作せず、よりドライなのでしょうか? (item.Active){checked = "checked"} /> ' –

+0

このように以前は見たことがありませんでした。私は私の答えを編集します。コメントありがとう。 –

+0

それは正しい構文かどうかわかりません... –

1

私は、あなたが真のXHTMLを使用している場合の構文はchecked="checked"

する必要があります理解しています。 HTMLでは、その属性の値だけを指定する簡略構文is recommended(ユーザーエージェントは最近のところlongに問題はありませんが、入力する方が速いです)。

<input type="checkbox" name="foo" value="bar" checked> 

私はあなたが使用している(詳細不明)テンプレート言語に依存して確認

に真を変換する方法を理解していません。

偽の場合はどうすればよいですか。

checked属性は一切含めないでください。

<input type="checkbox" name="foo" value="bar"> 
1

HTMLでは、チェックボックスをオフにするには、checked = "whatever"属性を削除します。技術的には、HTMLはchecked = ""の値が何であるかを気にせず、存在するだけであり、有効なマークアップです。

+0

実際にはありません。 'checked'はブール値のプロパティです。有効な値は 'true'または' false'です。他のすべては無効です。 –

+0

@dotweb、これは間違っています。なぜなら、ozbarryは、それが真であると評価するための任意の値が許可されているからです。 –

+0

@AshBurlaczenko私たちはどちらも間違っているように見えます。私は(HTML5)バリデーターで試してみたところ、 'checked'という値だけが許されているようです。 –

関連する問題