0

最初のドロップダウンで選択された値に基づいて、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();
    }

コードについて教えてください。間違っている場合は修正してください。

4

1 に答える 1

0

ああ、私は問題を見たと思います...すべきではありません:

 $.each(returndata, function (key, value) {

なれ

 $.each(data, function (key, value) {
于 2012-04-12T18:52:28.657 に答える