私には簡単な問題があります。多くの例を見てきましたが、正しいコードに指を置くことはできません。問題: ドロップダウン リストから [その他] が選択されている場合にのみ、テキスト入力フィールドを表示する必要があります。
私のJavaScript:
@{
ViewBag.Title = "Create Client";
var showGenderDescription = false;
var showSettingDescription = false;
}
<script src="~/Scripts/jquery-2.0.3.js"></script>
<script>
$(function () {
$('#GenderId').change(function () {
if ($("#GenderId").val() == 3) {
showGenderDescription = true;
}
});
$("#SettingId").change(function () {
if ($("#SettingId").val() == 1) {
showGenderDescription = true;
}
});
});
</script>
私のビューコード:
@using (Html.BeginForm())
{
<div class="editor-label">
@Html.LabelFor(model => model.GenderId, "Gender")
</div>
<div class="editor-field">
@Html.DropDownList("GenderId", (SelectList)ViewBag.GenderId, "--Select One--", new { id = "GenderId"})
@Html.ValidationMessageFor(model => model.GenderId)
</div>
@if(showGenderDescription)
{
<div class="editor-label">
@Html.LabelFor(model => model.GenderDescription)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.GenderDescription)
@Html.ValidationMessageFor(model => model.GenderDescription)
</div>
}
}
ドロップダウンリストはコントローラーへのポストバックで正しく機能しますが、説明入力ボックスを表示したいと思います。このタイプの動作を複製するものは何も見たことがありません(とにかく私の検索ではありません)。いつものように、助けていただければ幸いです!