我有一个javascript函数,我已经命名为refreshProjects(),它所做的是根据之前的下拉列表中选择的内容来筛选下拉列表。但是,我还需要在页面加载完成之后,直接过滤我的列表。在页面加载时调用JavaScript函数的问题
我已经尝试使用代码window.onload = refreshProjects(id)没有sucsses,但onload工作时,我使用window.onload = alert('此页已完成加载!'),所以我知道那部分关闭该脚本起作用。那么,如何在加载时调用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。
这不起作用,id来自下拉列表ddcustomers中的选定客户,它用于确定下拉列表ddProjekts中应包含哪些项目。 – user2380907
好的,那么id需要是'$(“#ddCustomers”)。val()'。我更新了答案。 – sroes
这工作就像一个魅力,谢谢。 – user2380907