How to dynamically disable TextBox in MVC Razor?
asp.net-mvc, razor
Solution
This needs to be done in 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>
Problem
I want to dynamically disable/enable textbox aftre clicking the checkbox. How can I do it? I'm using this: ``` @{ object addInput = (Model.AddInput) ? null : new { disabled = "disabled" }; } @Html.CheckBoxFor(model=> model.AddInput) @Html.TextBoxFor(model => model.Input.Name, addInput) ``` but it works only on start. Clicking the checkbox isn't changing anything. How can do some binding to change disable state automaticaly?