これは非常に単純なはずですが、機能させることができません。ユーザーがチェックボックスをクリックしたときに 2 つのドロップダウン リストを無効にしようとしています。
@Html.DropDownList("StartTime", new List<SelectListItem>
{
new SelectListItem{ Text="10:00 AM", Value = "10:00 AM" },
new SelectListItem{ Text="12:00 PM", Value = "12:00 PM" },
new SelectListItem{ Text="2:00 PM", Value = "2:00 PM" }
}
@Html.DropDownList("EndTime", new List<SelectListItem>
{
new SelectListItem{ Text="10:00 AM", Value = "10:00 AM" },
new SelectListItem{ Text="12:00 PM", Value = "12:00 PM" },
new SelectListItem{ Text="2:00 PM", Value = "2:00 PM" }
}
@Html.CheckBox("chkAllDayEvent", new { @onclick = "AllDayEvent_Checked();" })
<script type='text/javascript'>
function AllDayEvent_Checked() {
$("#chkAllDayEvent").click(function () {
$('#EndTime').attr("disabled", $(this).is(':checked'));
$('#StartTime').attr("disabled", $(this).is(':checked'));
});
}
</script>
私の問題は、ページにアクセスしたときに、チェックボックスを 3 回クリックするまで Javascript が起動しないことです。3 回目にはテキスト ボックスが無効になり、通常どおりに動作します。