2010-11-26 24 views
0

任何人都可以告诉我为什么JavaScript不会在下面的场景中点击按钮时提交吗?Javascript不会在MVC2中的Html.DropdownList帮手中触发

控制器是像这样:

public ActionResult TestJavaScrip() 
{ 
     TestEntities db = new Models.TestEntities(); 

     ViewData["SortOptions"] = new SelectList(db.aspnet_Role, "RoleId", "RoleName"); 

return View(); 
} 

视图包含:

<form> 
<%= Html.DropDownList("mySelect",(SelectList)ViewData["SortOptions"],"Please Choose a Role...") %> 
<input type="button" onclick="getIndex()" value="Alert index of selected option"/> 
</form>  

的Javascript在的Site.Master头部区段如下:

<script type="text/javascript"> 
function getIndex() { 
    var x = document.getElementById("mySelect"); 
    alert(x.selectedIndex); 
} 
</script> 

渲染如下:

<form> 
<select id="mySelect" name="mySelect"><option value="">mySelect</option> 
<option value="133d8e56-XXXX-XXXX-XXXX-35ee34e845aa">Administrator</option> 
<option value="7c2a6ed5-XXXX-XXXX-XXXX-fecb42bdeebe">Clerk</option> 
<option value="54ebe31d-XXXX-XXXX-XXXX-9821df62f5ed">Client</option> 
<option value="63e605eb-XXXX-XXXX-XXXX-b007189a41e5">CPA</option> 
<option value="fb644c83-XXXX-XXXX-XXXX-5da4b2dc64a0">Executive</option> 
<option value="65efa138-XXXX-XXXX-XXXX-098d9195a99d">Master Administrator</option> 
<option value="0c863774-XXXX-XXXX-XXXX-6c8d2418ca6b">Part Qualified Accountant</option> 
</select> 


<input type="button" onclick="getIndex()" value="Alert index of selected option"/> 
</form> 

为什么不开火?我希望有人能看到我的一个明显的疏忽。

+0

输出正常工作[这里](http://jsbin.com/uxulo4#noedit)。 – 2010-11-26 03:18:19

回答

1

既然您使用MVC 2,我假设您可以访问随附的JQuery库。

下面是一些将解决您的问题的JQuery,以及一个jsfiddle,以便您可以在行动中看到它!

你会发现jsfiddle是这些类型的东西的救星,如果你想要一个直接的javascript解决方案,你也可以在这里填充一个。

<input type="button" id="btn" value="Alert index of selected option"/> 

$(document).ready(function(){ 
    $('#btn').click(function getIndex() { 
    var x = document.getElementById("mySelect"); 
    alert(x.selectedIndex); 
    }); 
}); 
+0

非常感谢jquery和jsfiddle,我现在正在使用它们。 – 2010-11-26 04:48:44

相关问题