0

我的视图中有动态复选框。但它不能正常工作,它总是在这里检查是我的代码:

<input type="checkbox" onclick = "InActiveUser('@item.UserId')" id = "@item.UserId"   checked="@(item.IsActive == false ? false : true)" />

请帮忙谢谢。

4

5 回答 5

2

Checked属性不采用truefalse作为值。此属性的唯一存在使其检查。如果您希望元素保持未选中状态,则必须删除此属性。

在此答案中阅读更多信息

于 2013-06-12T19:48:52.517 回答
0

你必须这样做:

<input type="checkbox" onclick = "InActiveUser('@item.UserId')" 
 id = "@item.UserId" checked="@item.IsActive" />
于 2013-06-12T19:46:38.140 回答
0

正如 Patryk 所说 - 您需要更改添加选中属性的方式。像这样的东西:

<input type="checkbox" onclick = "InActiveUser('@item.UserId')" id = "@item.UserId"   @(item.IsActive ? "checked" : "") />

试试看。

于 2013-06-12T20:47:24.540 回答
0

方法 - 1

@if(item.IsActive)
{
    <input type="checkbox" onclick = "InActiveUser('@item.UserId')" 
       id = "@item.UserId" checked="checked" />
}
else
{
    <input type="checkbox" onclick = "InActiveUser('@item.UserId')" 
         id = "@item.UserId"/> 
}

方法 - 2

您可以使用以下代码。

$("input[type='checkbox']").prop('checked', true);    // Checked
$("input[type='checkbox']").prop('checked', false);   // Un-Checked

如果你注意上面的代码,prop函数是用来设置属性值的。您可以使用 JQuery - 1.6 版本。现在根据您的情况,您可以在 JavaScript 部分编写 Razor 代码,如下所示。

<script type="text/javascript">
    $(document).ready(function () {                   //Some Razor code in JQuery
        var status = "@status" == "True" ? true : false;
        $("input[type='checkbox']").prop('checked', status);
    });
</script>

View.cshtml 中的服务器端示例代码

@{
    var status = false;
}

方法 - 3

jQuery

<script type="text/javascript">
    $(document).ready(function () {                   //Some Razor code in JQuery
        var status = "@status" == "True" ? true : false;
        if (!status)
            $("input[type='checkbox']").removeAttr('checked');
        else
            $("input[type='checkbox']").attr('checked', true);

    });
</script>

cshtml 中的服务器端代码

@{
    var status = true;
}

如果您注意上面的 JQuery 代码,我将removeAttr在状态值为 false 的情况下删除选中的属性,并在状态attr为 true 时使用函数将其设置为 true。

于 2013-06-12T22:52:10.603 回答
0

尝试这样的事情:

 @{
  if (ViewBag.IsActive)
  {
    <input type="checkbox" id="@item.UserId" checked onclick = "InActiveUser('@item.UserId')"/>
  }
  else
  {
    <input type="checkbox" id="@item.UserId" onclick = "InActiveUser('@item.UserId')"/>
  }
}
于 2013-06-12T23:05:51.720 回答