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 関数を呼び出してActionResult
div にロードすると、関連するGetTeams
アクションが呼び出されません。
$(function () {
$('#ddlComps').change(function () {
var url = $(this).data('url');
var value = $(this).val();
$('#result').load(url, { id: value });
});
});
誰が私が間違っているのかを見ることができますか? いつものようにシンプルに賭けます...