我想动态禁用/启用文本框,然后单击复选框。我该怎么做?我正在使用这个:
@{
object addInput = (Model.AddInput) ? null : new { disabled = "disabled" };
}
@Html.CheckBoxFor(model=> model.AddInput)
@Html.TextBoxFor(model => model.Input.Name, addInput)
但它只适用于开始。单击该复选框不会改变任何内容。如何做一些绑定来自动更改禁用状态?
答案 0 :(得分:8)
这需要在javascript中完成。
@{
object addInput = (Model.AddInput) ? null : new { disabled = "disabled" };
}
@Html.CheckBoxFor(model=> model.AddInput)
@Html.TextBoxFor(model => model.Input.Name)
<script>
$('#AddInput').click(function() {
var $this = $(this);
if ($this.is(':checked')) {
$('#Name').removeAttr("disabled");
} else {
$('#Name').attr("disabled", "disabled")
}
});
</script>
答案 1 :(得分:1)
如果您出于某种原因想要启用它,您还可以使用以下内容:
$('#Name').attr("disabled", false);
答案 2 :(得分:0)
单击复选框添加jquery操作并正确设置状态。