任何人都可以告诉我为什么在下面的方案中单击按钮时javascript将不会提交?
控制器是这样的:
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>
Site.master头部分中的Javascript如下:
<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 :(得分: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);
});
});