4

这是一个使用 razor 视图引擎的 MVC 3 应用程序。我在显示 2 个复选框的视图中有以下代码行。当一个被选中时,另一个复选框应该取消选中。我已经在我缺乏 javascript 的 exp 和在 google 上找到与此相关的线程的缺乏之间进行了搜索,我什至迷失了一个 javascript 的代码片段来作为一个有价值的起点。有任何想法吗??下面是我自己编写的代码,但比任何事情都更卡。

        $("#isStaffCheckBox").change(
              function (e) {
                  var checked = $(this).attr('checked');
                  if(checked)
                  {

    <li>Staff Member: @Html.CheckBoxFor(Function(f) f.isStaff, New With {.id = "isStaffCheckBox"}) Board Member: @Html.CheckBoxFor(Function(f) f.boardMember, New With {.id = "isBoardCheckBox"})</li>

任何帮助是极大的赞赏..

4

3 回答 3

5

如果出于某种原因将其设为复选框而不是单选按钮,则应使用以下代码。

    $("#isStaffCheckBox").change(
          function (e) {
              $("#isBoardCheckBox").prop('checked',!this.checked);
          }
    });
于 2013-05-26T01:35:16.187 回答
2

将属性 "("#isBoardCheckBox").prop" 更改为 "("#isBoardCheckBox").attr"。

工作正常!

  $("#isStaffCheckBox").change(
  function (e) {
      $("#isBoardCheckBox").attr("checked", !this.checked);
  })
于 2013-10-10T19:20:13.953 回答
0

// 如果你使用 jquery 1.6.4 或更低版本使用“attr”,如果你使用更高版本(1.9 或更高版本)使用“prop”而不是 attr。

代码:

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Checkbox</title>
        <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                $(":checkbox").change(function () {
                    $("input:checkbox").attr("checked", false);
                    $(this).attr("checked", "checked");
                });
            });
        </script>
    </head>
    <body>
        <input type="checkbox" id="chk1" value="1" /> Staff Member  <br/>
        <input type ="checkbox" id="chk2" value="2" /> Board Member
    </body>
</html>

请查看此链接JsFiddle 我的代码

于 2013-05-26T03:13:29.013 回答