关于下拉助手的变化?

时间:2017-09-26 10:37:15

标签: asp.net-mvc html-helper

我正在使用枚举来显示下拉状态

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

我想为此添加一个onchange函数,它接受两个参数,一个是当前元素(this)和下拉值

   onChange(this,value)

这应该给select标签,值应该是我选择的 我应该在我的帮助下做些什么改变?

2 个答案:

答案 0 :(得分:1)

HTML Helper:

 @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 :(得分:1)

@Html.DropDownList("MyType")创建一个ID为select的{​​{1}}元素。如果您使用的是jQuery,则可以添加这样的更改事件处理程序。

MyType

如果您不使用jQuery,那么

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

您可以<script> document.addEventListener('DOMContentLoaded', function () { document.getElementById("MyType").addEventListener("change", function () { alert(this.value); console.log(this); }); }); </script> 实现这一目标,但您应该遵循Unobtrusive JavaScript方法