我的 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
Action 并没有被调用。
$(function () {
$('#ddlComps').change(function () {
var url = $(this).data('url');
var value = $(this).val();
$('#result').load(url, { id: value });
});
});
谁能看到我哪里出错了?打赌它像往常一样简单......