MVC查看加载时运行的JavaScript函数

MVC查看加载时运行的JavaScript函数,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我在MVC中有一个视图,它包含一个按钮,单击该按钮时应该调用javascript函数。问题在于加载视图时函数正在运行,而不是单击按钮时 <label for="structureParameter">Choose a structure parameter</label><select id="structureParameter" name="structureParameter"> <option disabled="disabled" se

我在MVC中有一个视图,它包含一个按钮,单击该按钮时应该调用javascript函数。问题在于加载视图时函数正在运行,而不是单击按钮时

<label for="structureParameter">Choose a structure parameter</label><select id="structureParameter" name="structureParameter">
    <option disabled="disabled" selected="selected">...</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
</select>
<input type="button" id="submit" value="submit" />

<script type="text/javascript">
function setStructure() {
    var selectElement = document.getElementById("structureParameter");
    var pageType = selectElement.value
    return pageType;
}

$(document).ready(function () {
    $('#submit').onclick = setStructure();
})
</script>
选择一个结构参数
...
1.
2.
3.
4.
5.
函数集合结构(){
var selectElement=document.getElementById(“结构参数”);
var pageType=selectElement.value
返回页面类型;
}
$(文档).ready(函数(){
$(“#提交”).onclick=setStructure();
})
函数setStructure()是在加载时而不是在单击按钮时运行的,因此尚未设置document.getElementById(“structureParameter”)。如何仅在单击按钮后运行setStructure()


我尝试移动$('#test')。onclick=setStructure();在document.ready之外,它没有任何帮助。

将事件处理程序更改为如下所示:

$(document).ready(function () {
    $('#submit').click(function () {
        alert('hello, world!');
    });
})
在您的情况下,用调用
setStructure()

小提琴: