我有一个名为 refreshProjects() 的 javascript 函数,它的作用是根据在前一个下拉列表中选择的内容过滤下拉列表。但是我还需要在页面完成加载后直接过滤我的列表。
我尝试使用代码 window.onload = refreshProjects(id) 没有成功,但是当我使用 window.onload = alert('This page has finished loading!') 时 onload 工作,所以我知道脚本的那部分工作。那么如何在加载时调用 javascript 函数,我认为这很简单,但我尝试的所有尝试都失败了。
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript">
window.onload = refreshProjects(id); <-- Problem
$("#ddCustomers").change(function () {
refreshProjects($(this).val());
});
function refreshProjects(id) {
var projects = $("#ddProjects");
$.get('@Url.Action("FilterProjects","TimeEntry")', { customerId: id },
function (result) {
// clear the dropdown
projects.empty();
//Add a deafult "null" value
$("#ddProjects").get(0).options[0] = new Option("[ - No project - ]", "-1");
// rebuild the dropdown
$.each(result, function (i, e) {
projects.append($('<option/>').text(e.Text).val(e.Value));
});
});
}</script>
}
这适用于 MVC 4.5。