最初のドロップダウンで選択された値に基づいて、2 番目のドロップダウンが設定されます。このために Ajax を作成する必要があり、それを行うのに苦労しています。
最初のドロップダウン「コースの選択」があり、どのコースが選択されているか、その特定のコース ID の助けを借りて、対応する州がデータベースから選択されます。
たとえば、コースが「MCA」の場合、州のドロップダウンには、マハラシュトラ、ラジャスタンなどの州を入力する必要があります。
Ajax の次のコードを試しましたが、機能せず、エラーが発生します
$("#Course").change(function () {
var Courseid = $("#Course").val();
var urlCourselocation = '@Url.Action("FetchstatebyCourse")';
$.ajax({
type: "POST",
url: urlCourselocation,
data: { id: Courseid },
success: function (data) {
$('#State').empty();
$('#State')
.append($('<option>', { value: "0" })
.text("-- Select State --"));
$.each(returndata, function (key, value) {
$('#State')
.append($('<option>', { value: value.Value })
.text(value.Text));
});
}
});
});
コントローラーでは、次の関数を記述しました。
public ActionResult FetchHobbyDetailByHobbyId(int Id)
{
LearnerService learnerservice = new LearnerService();
/* Here is some Code to fetch the state id from the database*/
ICollection<ProvincialState> state = learnerservice.FetchStateByStateid(stateid);
ViewBag.State = state;
if (HttpContext.Request.IsAjaxRequest())
return Json(new SelectList(
state,
"ProvincialStateID",
"ProvincialStateName"));
return View();
}
コードについて教えてください。間違っている場合は修正してください。