2016-04-13 13 views
1

Ich versuche, andere Kontrollkästchen bei Auswahl eines Kontrollkästchens deaktivieren und erneut aktivieren, wenn dies erneut deaktiviert wurde.
Unten ist ein Codeschnipsel, den ich während einer Beispielgeige für eine Standard - Checkbox gefunden habe, aber ich konnte dies nicht für eine Checkbox replizieren, kann jemand bitte die Änderungen empfehlen, die ich machen muss, damit dies in einem funktioniert checkboxfür?Deaktivieren Sie andere Kontrollkästchen mit html.checkboxfor einmal ausgewählt ist

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

Und unten ist mein checkboxfor, wo ich anrufen werde diese

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

warum nicht Radio benutzen? – guradio

+0

deaktiviert Radio automatisch die anderen Optionen? – cg91

+0

ja das ist, was es für nur eine Auswahl zu einer Zeit ist – guradio

Antwort

0

Sie können diesen Code verwenden, wenn Sie möchten, anderweitig verwenden Kontrollkästchen bestehen bleiben seine besseren Radio-Button zu verwenden, anstatt

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); 
}); 

prüfen diese jsfiddle für die demo

Sie Radio-Buttons als verwenden können:

<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

Danke, aber wie mache ich das mit einem @ html.checkboxfor oder radiobuttonfor? – cg91

0

Okey. Zum Beispiel haben Sie Modell ForRadioButtonsModel wie

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

anzeigen, auf die Sie Sammlung dieser Modelle oder Modellübergeben, die diese Sammlung

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

als enthält sehen Sie als nächstes tun können Radiogroup

erstellen
@foreach (var item in Model) <-- Model is of type List<ForRadioButtonsModel> 
{ 
    @Html.RadioButtonFor(m => item.IsDisplayImage, item.IsDisplayImage) 
} 

Dies wird nächsten HTML

rendern
<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"> 

So werden Sie haben Radiobuttons mit dem gleichen Namen, aber mit unterschiedlichen Werten

+0

Ok Ich habe gerade festgestellt, dass ich möglicherweise das isdisplayimage irgendwann als null zurückgeben muss (dh keine Werte ausgewählt) ist das noch möglich mit Radiobutton? – cg91

Verwandte Themen