2010-11-26 80 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

相關問題