如何在禁用时发布复选框值

时间:2016-11-16 11:28:21

标签: javascript jquery checkbox

我尝试将readonly属性设置为复选框,但它允许用户选中/取消选中该字段。

后来我试图将禁用用户的禁用设置为禁止/取消选中。

但是当我尝试提交表单时,带有disbaled值的复选框没有传递给MVC控制器。

我试图设置隐藏值,并尝试在更改时设置值,但无法将值传递给控制器​​。

这是我的代码:

def myfunc(requests,param1):
    ----
    --- do something
    ----

JQuery代码:

  <div  style="width:200px">@Html.CheckBoxFor(m => m.In, new { id = "cbIn", style = "vertical-align:middle;", data_bind = "checked:In,disable:useSettings" })</div>
   @Html.HiddenFor(m=>m.In,new { id = "hiddenIn" })

即使在表单帖子中禁用了复选框值,我该如何发送复选框值。

2 个答案:

答案 0 :(得分:2)

您已经隐藏了输入:

@Html.HiddenFor(m=>m.In,new { id = "hiddenIn" })

那应该传递禁用复选框的值。

没有隐藏输入的解决方案,您可以在从表单中获取元素值之前删除disabled属性:

$("input:checkbox").prop('disabled', false);
//Then get the data
var serializedForm = $("input,select").serialize();

希望这有帮助。

答案 1 :(得分:1)

您可以这样使用,因此使用无法更改复选框的状态,只需添加onclick="return false;"

,您也可以从复选框中获取值

<input type="checkbox" checked onclick="return false;" onkeydown="return false;"/>

在你的剃刀语法中

@Html.CheckBoxFor(m => m.In, new { id = "cbIn", style = "vertical-align:middle;", data_bind = "checked:In,disable:useSettings", onclick="return false;"})