在我的 ASP.NET MVC index.cshtml页面上,我使用ajax成功地将部分视图加载到谷歌地图信息窗口中,如下所示:
$.ajax({
url: '/Map/BusForm/@bus.Id',
success: function(data)
{
infoWindows["@bus.Id"].setContent(data);
}
});
然后在部分视图中,我有这些表单助手来创建下拉列表(这也有效,数据已正确填充并且表单成功提交)。
@using (Ajax.BeginForm("BusForm", "Map", new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "results",
LoadingElementId = "loader"
}))
{
<h4>Line:</h4>
@*@Html.DropDownListFor(x => x.LineId, Model.GetLines(), "--Choose Train Line--")*@
@Html.DropDownListFor(x => x.LineId, Model.GetLines(), "--Choose Train Line--", new { @class = "lineDDL" })
<h4>Destination: </h4>
@Html.DropDownListFor(x => x.StationId, Model.GetStations(), "--Choose Destination--")
<div id="loader" style="display:none">Loading</div>
<div id="results"></div>
<input type="submit" value="Save" />
}
我想使第二个下拉列表中的值从第一个下拉列表中依赖(级联),所以我需要获取更改事件。所以在 Index.cshtml 上,我在"脚本部分"中有这个脚本,但它没有被调用。
$(document).ready(function() {
$("#LineId").on("change", function()
{
console.log('change was called');
});
});
哎呀,太简单了。
我只是改变了
$(document).ready(function() {
$("#LineId").on("change", function()
{
console.log('change was called');
});
});
自
$(document).on("change", "#LineId", function()
{
console.log('change was called');
});
现在它可以工作