In my perspective, I have
<div class="col-md-3 ">
@{
List<SelectListItem> deformitylevel = new List<SelectListItem>();
deformitylevel.Add(new SelectListItem { Value = "hip", Text = "Hip" });
deformitylevel.Add(new SelectListItem { Value = "knee", Text = "Knee" });
deformitylevel.Add(new SelectListItem { Value = "ankle", Text = "Ankle" });
deformitylevel.Add(new SelectListItem { Value = "other", Text = "Other" });
}
@Html.DropDownListFor(model => model.DeformityLevel, deformitylevel, "--Choose Level -", new { @class = "form-control", @onchange = "showdeformitytextbox()", id = "deformitydropdown" })
@Html.ValidationMessageFor(model => model.DeformityLevel, "", new { @class = "text-danger" })
</div>
<div class="col-md-3">
@Html.EditorFor(model => model.DeformityLevel, new { htmlattributes = new { @class = "form-control", id = "deformitytextbox" ,style= "display:none"} })
</div>
The function that guides me is
function showdeformitytextbox() {
if ($("#deformitydropdown option:selected").text() == 'Other') {
$("#deformitytextbox").show();
}
else {
$("#deformitytextbox").hide();
}
}
Upon selecting "Other" in the dropdown list, instead of saving the input value from @Html.EditorFor, it saves 'other' in the database.
I am missing something crucial, any guidance?