2016-04-13 25 views
1

1つのチェックボックスの選択時に他のチェックボックスを無効にし、もう一度チェックを外して再度有効にしようとしています。
以下は、標準のチェックボックスの例の間に働いていたコードのスニペットですが、私はこれをcheckboxforのために複製できませんでした。誰かがこれを動作させるために必要な変更をお勧めしますか?チェックボックス?html.checkboxforを使用して他のチェックボックスを自動的に無効にします。

<script> 
    $('#chkItems').change(function() { 
     $(this).siblings('#chkItems').prop('disabled', this.checked) 
    }); 
    </script> 

以下、私はこの

@Html.CheckBoxFor(modelItem => item.IsDisplayImage, new { id = "chkItems" }) 
+0

なぜラジオを使用しないのですか? – guradio

+0

ラジオは自動的に他のオプションの選択を解除しますか? – cg91

+0

はい、それは一度に1つの選択だけのものです – guradio

答えて

0

を呼び出していますどこcheckboxforあるチェックボックスを使用して永続化したい場合は、代わりにラジオボタンを使用するそれ以外の場合は、その優れたこのコードを使用することができます

HTML

<label class="checkbox-inline check"> 
     <input type="checkbox" name="skills" id="radio" value="1"> 1 
</label> 
<label class="checkbox-inline check"> 
     <input type="checkbox" name="skills" value="2"> 2 
</label> 
<label class="checkbox-inline check"> 
     <input type="checkbox" name="skills" value="3"> 3 
</label> 

のJS:

$('.check input:checkbox').click(function() { 
    $('.check input:checkbox').not(this).prop('checked', false); 
}); 

チェックあなたのようにラジオボタンを使用することができますdemo

ため、このjsfiddle:

<form> 
    <input type="radio" name="gender" value="male" checked> Male<br> 
    <input type="radio" name="gender" value="female"> Female<br> 
    <input type="radio" name="gender" value="other"> Other 
</form> 
+0

ありがとう、しかし、これは@ html.checkboxforまたはradiobuttonforを使用してどのように行うのですか? – cg91

0

オーケー。あなたがこのモデルやモデルのコレクションを渡すビュー

public class ForRadioButtonsModel 
    { 
     public int Id { get; set; } 
     public bool IsDisplayImage { get; set; } 
    } 

のようにたとえば、あなたは、モデル ForRadioButtonsModelを持っているよりも、このコレクション

return View((List<ForRadioButtonsModel>) collection);

が含まれているあなたはRADIOGROUP

を作成するために、次の行うことができます見ます
@foreach (var item in Model) <-- Model is of type List<ForRadioButtonsModel> 
{ 
    @Html.RadioButtonFor(m => item.IsDisplayImage, item.IsDisplayImage) 
} 

次のHTMLをレンダリングします

<input checked="checked" id="item_IsDisplayImage" name="item.IsDisplayImage" type="radio" value="True"> 
<input checked="checked" id="item_IsDisplayImage" name="item.IsDisplayImage" type="radio" value="False"> 

同じ名前のラジオボタンがありますが、値は異なります

+0

私は、潜在的に、ある段階でisdisplayimageをnullに戻す必要がある可能性があることを認識しました(つまり、選択されていない値)。これはラジオボタンでも可能ですか? – cg91