Asp.net mvc 4 只选择一个复选框

Asp.net mvc 4 只选择一个复选框,asp.net-mvc-4,Asp.net Mvc 4,我有是/否复选框,我希望用户只选择一个。我有一个java脚本,但它不工作没有错误 Html.CheckBoxFor(m => m.HaveYouApplied, htmlAttributes: new { id = "chkYes", onchange = "chkBox1", @checked = true, @class = "big-checkbox" }) Html.CheckBoxFor(m => m.HaveYouApplied, htmlAttributes: new

我有是/否复选框,我希望用户只选择一个。我有一个java脚本,但它不工作没有错误

Html.CheckBoxFor(m => m.HaveYouApplied, htmlAttributes: new { id = "chkYes", onchange = "chkBox1", @checked = true, @class = "big-checkbox" })

Html.CheckBoxFor(m => m.HaveYouApplied, htmlAttributes: new { id = "chkNo", onchange = "chkBox2", @checked = false, @class = "big-checkbox" })

<script type="text/javascript">
$(function () {
    $("#chkYes").change(function () {
        var ischecked = $(this).is(":checked");
        if (ischecked) {
            $("#chkNo").prop("checked");
        }
    });

    $("#chkNo").change(function () {
        var ischecked = $(this).is(":checked");
        if (ischecked) {
            $("#chkYes").prop("checked");
        }
    });
})
Html.CheckBoxFor(m=>m.haveyouapplicated,htmlAttributes:new{id=“chkYes”,onchange=“chkBox1”,@checked=true,@class=“big checkbox”})
CheckBoxFor(m=>m.haveyouapplicated,htmlAttributes:new{id=“chkNo”,onchange=“chkBox2”,@checked=false,@class=“big checkbox”})
$(函数(){
$(“#chkYes”)。更改(函数(){
var ischecked=$(this).is(“:checked”);
如果(已检查){
$(“#chkNo”).prop(“选中”);
}
});
$(“#chkNo”)。更改(函数(){
var ischecked=$(this).is(“:checked”);
如果(已检查){
$(“#chkYes”).prop(“选中”);
}
});
})

为什么不使用专门用于此范围的单选按钮?

Html.CheckBoxFor(m=>m.haveyouapplicated,htmlAttributes:new{id=“chkYes”,onchange=“modifycheckbox('chkYes'),@checked=true,@class=“big checkbox”})
Html.CheckBoxFor(m => m.HaveYouApplied, htmlAttributes: new { id = "chkYes", onchange = "ModifyCheckBoxes('chkYes')", @checked = true, @class = "big-checkbox" })

Html.CheckBoxFor(m => m.HaveYouApplied, htmlAttributes: new { id = "chkNo", onchange = "ModifyCheckBoxes('chkNo')", @checked = false, @class = "big-checkbox" })

<script type="text/javascript">
    function ModifyCheckBoxes(Id) {
    if (document.getElementById(Id).checked) {
        if (Id == "chkNo") {
            document.getElementById("chkYes").checked = false;
        } else if (Id == "chkYes") {
            document.getElementById("chkNo").checked = false;
        }
    };
};
</script>
CheckBoxFor(m=>m.haveyouapplicated,htmlAttributes:new{id=“chkNo”,onchange=“modifycheckbox('chkNo'),@checked=false,@class=“big checkbox”}) 函数修改复选框(Id){ if(document.getElementById(Id).checked){ 如果(Id=“chkNo”){ document.getElementById(“chkYes”).checked=false; }else if(Id==“chkYes”){ document.getElementById(“chkNo”).checked=false; } }; };
在jQuery中:

将类“chkBx”添加到要限制为只选中一个的组中的每个复选框中

$('.chkBx').change(function () {
        $(".chkBx").not(this).prop('checked', false);
    });

你到底为什么要这样做?这根本没有意义。您要么有一个复选框,要么有两个单选按钮,其值分别为
true
false
,绑定到
HaveYouApplied
属性。