根据值选中或取消选中复选框?

我们如何根据值以编程方式选中或取消选中复选框? 也就是说,对于特定用户,如果值为true,则应选中复选框,否则如果值为false,则需要取消选中该复选框。 我按以下方式声明了复选框:

 

你可以试试这个

  

要么

(为了保持简单,我做了你在下面看到的)

 if(condition = true) { @Html.CheckBoxFor(x => x.Test, new { @checked = "checked" }) } else { @Html.CheckBoxFor(x => x.Test) } 

希望这可以帮助 :)

如果你不想出于任何原因使用@ Html.CheckBoxFor而你想坚持下去

   

那么这就是我发现最好的方法:

   

@Yasser上面提供的代码:

  checked="@(required ? "checked" : "")" 

对我来说没有用,因为它仍然将checked属性添加到元素中,并且设置checked =“”仍然会将复选框呈现为已选中,这不是所需的输出,而是将整个语句包装到剃刀块中像这样:

  @(Convert.ToBoolean(Model.YourPropertyHere) == true ? "checked='checked'" : string.Empty) 

你会得到理想的结果。

如果您正在编写我们自己的而不是使用Html.CheckBoxFor等替代方法,则可以使用更简单的方法来包含或不包含checked属性:

  

剃刀非常聪明,可以自动生成

  

要么

  

取决于isCheckedtrue还是false 。 不需要if语句或重复代码。

如果您正在使用MVC并从控制器中正确传递模型值,那么

 @Html.CheckBoxFor(model => model.checkBox1) 

…是你所需要的全部。 html-helper执行逻辑以确定是否插入checked="checkbox"代码。

否则,如果没有HTML帮助程序,您可以自己动态生成属性(其他人已经指出了如何),但不要错误地认为checked = ""将使框保持未选中状态。 请参阅此答案以获得解释。

如果要在代码隐藏中选中/取消选中复选框值,则必须在复选框标记中包含ID和runat服务器属性。

  

后台代码:

 if(yourcondition==true) chk.checked = true; else chk.checked = false; 

如果你想在javascript中这样做

  

JS:

 if(yourcondition==true) chk.checked = true; else chk.checked = false; 

试试这个:

  

所以这是一个简单的单选按钮,它检查loggedIn变量&如果真的单选按钮将被检查,否则不会。

您必须为复选框命名,例如:

  

function:

  if(x==1){ checkBox1.Checked = true; //To Check } else{ checkBox1.Checked = false // To Uncheck }