只选择一个复选框

时间:2017-08-29 16:30:51

标签: asp.net-mvc-4

我有Yes / No复选框,我希望用户只选择一个。我有一个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");
        }
    });
})

3 个答案:

答案 0 :(得分:0)

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>

答案 1 :(得分:0)

在jQuery中:

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

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

答案 2 :(得分:-1)

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