Html.EditFor Onchange Event

2019-04-07 04:15发布

I am developing an MVC4 application.
I want to change IsChanged field in my Model, when model.ExternalVenderNo is changed.

Below are codes on View page

 <div class="editor-field">
        @Html.EditorFor(model => model.ExternalVenderNo, new { @onchange = "OnChangeEvent();" })
        @Html.ValidationMessageFor(model => model.ExternalVenderNo)
    </div>

and

 function OnChangeEvent()
{
    alert("value is changed");
    @{ Model.IsChanged = true;
    }
}

To check whether OnChangeEvent is being called , i put alert. But alert is also not working.
it means OnChangeEvent is not beign called.

I just want to change IsChanged field to true, when model.ExternalVenderNo is changed.

Model has bool IsChanged

4条回答
够拽才男人
2楼-- · 2019-04-07 04:38

Try the same with @Html.TextBoxFor

@Html.TextBoxFor(model => model.ExternalVenderNo, new { onchange = "OnChangeEvent()" })

<script type="text/javascript">
 function OnChangeEvent(){
    alert("value is changed");
    @Model.IsChanged = true;
 }
</script>

or leave Jquery to handle the change event

@Html.EditorFor(model => model.ExternalVenderNo)

<script type="text/javascript">
$('#ExternalVenderNo').change(function(){
    alert('Changed!');
    @Model.IsChanged = true;
});
</script>
查看更多
smile是对你的礼貌
3楼-- · 2019-04-07 04:42

Try adding to attributes

@Html.EditorFor(model => Model.Lengthofside1, new {  htmlAttributes = new { onchange = "OnChangeEvent(this)", @class = "form -control text-right" } })

This worked for me.

查看更多
Anthone
4楼-- · 2019-04-07 04:46

try jquery for this

$('#ExternalVenderNo').change(function(){
    alert('Changed!');
});
查看更多
别忘想泡老子
5楼-- · 2019-04-07 05:00

The following will definitely work for you.

$(document).ready(function()
{
   $('#ExternalVenderNo').on("change", function()
   {
      alert('Changed!');
   });
});
查看更多
登录 后发表回答