0

Razor ページに DropDownList があります

@Html.DropDownListFor(Model => Model.Clubs, new SelectList(ViewBag.Clubs as System.Collections.IEnumerable, "Id", "Name"),
                          "-- Select a club --",
                          new { id = "ddlClubs" })

これにより、javascript 関数からの Json 呼び出しで別の DropDownList が読み込まれます。

$(function () {
  $("#ddlClubs").change(function () {
  var clubid = $(this).val();
  $.getJSON("../Administration/LoadCompsByClubId", { clubid: clubid },
    function (compsData) {
      var select = $("#ddlComps");
      select.empty();
      select.append($('<option/>', {
      value: 0,
      text: "-- select a competition --"
  }));
  $.each(compsData, function (index, itemData) {
    select.append($('<option/>', {
      value: itemData.Value,
      text: itemData.Text
    }));
  });
});

この DropDownList は正しく設定されています。

@Html.DropDownList("Id", new SelectList(Enumerable.Empty<SelectListItem>(),
                    "Id", "Name"),  "-- select a competition --",
                    new{
                        id = "ddlComps",
                        data_url = Url.Action("GetTeams", "Administration")
                    })

change 関数を呼び出してActionResultdiv にロードすると、関連するGetTeamsアクションが呼び出されません。

 $(function () {
    $('#ddlComps').change(function () {
        var url = $(this).data('url');
        var value = $(this).val();
        $('#result').load(url, { id: value });

    });
});

誰が私が間違っているのかを見ることができますか? いつものようにシンプルに賭けます...

4

2 に答える 2

0

他のドロップダウン値を返すこのアクションがどのように見えるかを書くとよいでしょう。私には、JsonResult (ActionResult を拡張) を返していないように思えますが、私が見ている以上のことはわかりません。

于 2013-06-28T11:42:02.340 に答える