Javascript не будет срабатывать в Html.DropdownList помощник в MVC2 - PullRequest
0 голосов
/ 26 ноября 2010

Может кто-нибудь сказать мне, почему 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>     

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>

Почему он не запускается?Я надеюсь, что кто-то может увидеть явный недосмотр с моей стороны.

1 Ответ

1 голос
/ 26 ноября 2010

Поскольку вы используете 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); 
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...