当我从DropdownList (校园)选择一个项目时,我不知道我缺少了什么,我想要AutoPostBack火,加载另一个DropdownList,它正在建设,但它没有发生.我正试着在DropDownListFor上使用自动回波
的问题是什么:下面的代码对于任何常规的MVC 4布局都很好,但是只有TwitterBootStrap布局有问题,我需要改变什么或者做什么来处理TwitterBootStrap布局?
这是我的代码:
@using (Ajax.BeginForm("CampusSelect", "Facility", new AjaxOptions { UpdateTargetId = "Campus_Building" }))
{
@Html.DropDownListFor(
m => m.CampusId,
new SelectList(Model.GetAllCampus(), "CampusId", "Text"),
string.Empty
)
}
<script type="text/javascript">
$('#CampusId').change(function () {
$(this).parents('form').submit();
});
</script>发布于 2013-09-26 15:57:51
为了简单起见,您可以使用以下代码--应用您的onchange事件。
@Html.DropDownListFor(
m => m.CampusId,
new SelectList(Model.GetAllCampus(), "CampusId", "Text"),
string.Empty,
new { onchange = "$(this.form).submit();"}
)但是,您的脚本也应该按原样工作..。只是更麻烦。我认为它不起作用,因为页面上有另一个带有id="CampusId"的元素。
发布于 2013-09-26 23:57:21
你使用了错误的过载。您不能设置下拉列表的id。它应该是:
@Html.DropDownListFor(
m => m.CampusId,
new SelectList(Model.GetAllCampus(), "CampusId", "Text"),
new { id = "CampusId" }
)那你的剧本就能用了。
为了避免与重载混淆,请使用TwitterBootstrapMVC
@Html.Bootstrap().DropDownListFor(m => m.CampusId, new SelectList(Model.GetAllCampus(), "CampusId", "Text")).Id("CampusId")https://stackoverflow.com/questions/19028515
复制相似问题