2010-11-26 11 views
0

誰かが、以下のシナリオでボタンをクリックしたときにJavaScriptが送信されない理由を教えてもらえますか?MVC2のHtml.DropdownListヘルパーで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> 

なぜ発砲しないのですか?私は誰かが私の目で見事な見落としを見ることができることを願っています。

+0

出力がうまくいく[ここ](http://jsbin.com/uxulo4#noedit)。 –

答えて

1

MVC 2を使用しているので、付属のJQueryライブラリにアクセスすることが前提です。

あなたの問題を解決するいくつかのJQueryと、jsfiddleがありますので、実際にそれを見ることができます!

jsfiddleは、このような種類のもののための人生節約者です。まっすぐなjavascriptソリューションが必要な場合は、そこに1つも埋め込むことができます。

<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の偉大な操縦者のおかげで、私は今これらを使用しています。 –

+0

最後の答えは、 "警告"機能に乗っていたヘッドセクションに、準備ができたカスタムのjavascriptファイルがあることでした。私はこれを発見するために論理的な控除プロセスを経なければならなかった。 –

関連する問題