2017-09-26 9 views
0

私は私は2つのパラメータ1は、現在の要素(これ)とドロップダウン値がドロップダウンヘルパーの変更に対応していますか?

onChange(this,value) 
で受け入れたこれのonchange機能を追加したい

@Html.DropDownList("MyType",EnumHelper.GetSelectList(typeof(ImageType)),"Select My Type", new { @class = "form-control", onChange = "myFunction(this)" }) 

のようにドロップダウン表示するには列挙型を使用しています

これは選択タグを与えるべきで、私が選択した値になるように値を設定する 私の助けを借りて何を変えるべきですか?

+0

Unobtrusive JavaScriptアプローチに従うべきで、その後、

<script> document.addEventListener('DOMContentLoaded', function() { document.getElementById("MyType").addEventListener("change", function() { alert(this.value); console.log(this); }); }); </script> 

をjQueryのを使用していない場合は、 'jquery'を使用していますか? – adiga

+0

あなたの関数で 'this'を使って' value'にアクセスすることができます。この 'onChange =" myFunction(this) "'のように実装できます。あなたの関数では、ドロップダウンから選択した値を取得します。 –

+0

私はこれをログに記録しています、私はhtml要素を取得しています。私はhtml elemntと選択された値が必要です –

答えて

1

HTMLヘルパー:

@Html.DropDownList("MyType",EnumHelper.GetSelectList(typeof(ImageType)),"Select My Type", new { @class = "form-control", onChange = "myFunction(this)" }) 

Javascriptを:

<script> 
function myfunction(_this) 
{ 
    var selectedValue = $(_this).val(); 
} 
</script> 

PS:あなたは_thisを使用して要素にアクセスすることができます。 val()はあなたに選択された値を与えます。

1

@Html.DropDownList("MyType")は、idがMyTypeselect要素を作成します。 jQueryを使用している場合は、このような変更イベントハンドラを追加できます。

<script> 
    $(function(){ 
     $("#MyType").change(function(){ 
      console.log($(this).val()); 
      console.log(this); 
     }); 
    }); 
</script> 

あなたはあなたがonChangeすることによって、これを達成することができますが、あなたは

関連する問題