26

値に基づいてプログラムでチェックボックスをオンまたはオフにするにはどうすればよいですか?つまり、特定のユーザーの場合、値がtrueの場合はチェックボックスをオンにする必要があり、値がfalseの場合はチェックボックスをオフにする必要があります。次の方法でチェックボックスを宣言しました。

<input type="checkbox" class="checkbox">
4

8 に答える 8

33

なんらかの理由で @Html.CheckBoxFor を使用したくない場合は、引き続き使用したい場合

         <input type="checkbox"> 

次に、これが最善の方法であることがわかりました。

 <input @(Convert.ToBoolean(Model.YourPropertyHere) == true ?   "checked='checked'" : string.Empty)  type="checkbox" />

@Yasser が上記で提供したコード:

    checked="@(required ? "checked" : "")"

チェックされた属性を要素にまだ追加していたため、私にとってはうまくいきませんでした。checked="" を設定すると、ステートメント全体をかみそりブロックにラップする代わりに、チェックボックスがチェックされた状態でレンダリングされます。そのようです:

     @(Convert.ToBoolean(Model.YourPropertyHere) == true ?   "checked='checked'" : string.Empty)

望ましい結果が得られます。

于 2016-08-01T19:21:53.253 に答える
26
if(condition = true)
{
@Html.CheckBoxFor(x => x.Test, new { @checked = "checked" })
}
else
{
@Html.CheckBoxFor(x => x.Test)
}

お役に立てれば :)

于 2012-08-07T05:08:30.647 に答える
2

MVC を使用していて、コントローラーからモデル値を正しく渡している場合は、

@Html.CheckBoxFor(model => model.checkBox1)

...は、あなたが必要とすることすべてです。html-helper は、コードを挿入するかどうかを判断するロジックを実行しchecked="checkbox"ます。

それ以外の場合は、HTML ヘルパーを使用せずに属性を自分で動的に生成できます (他の人がその方法を指摘しています) checked = ""説明については、この回答を参照 してください。

于 2012-08-07T09:50:58.910 に答える
1

コード ビハインドでチェック ボックスの値をチェック/チェック解除する場合は、チェック ボックス タグに ID と runat サーバー属性を含める必要があります。

<checkbox Id="chk" runat="server" class="chkbox"/>

コード ビハインド:

if(yourcondition==true)
  chk.checked = true;
else
  chk.checked = false;

JavaScriptでやりたいなら

<checkbox Id="chk" class="chkbox"/>

JS:

if(yourcondition==true)
  chk.checked = true;
else
  chk.checked = false;
于 2012-08-07T05:36:55.280 に答える
-1

チェックボックスの名前が必要です。たとえば、次のようになります。

<input name=checkBox1 type="checkbox" class="checkbox">

機能の場合:

    if(x==1){
   checkBox1.Checked = true; //To Check
}
else{
   checkBox1.Checked = false // To Uncheck
}
于 2012-08-07T05:22:25.350 に答える