11

我正在开发一个 MVC4 应用程序。当model.ExternalVenderNo
更改时, 我想更改模型中的IsChanged 字段。

以下是查看页面上的代码

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

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

要检查是否正在调用OnChangeEvent ,我设置了警报。但是警报不起作用
这意味着OnChangeEvent没有被调用。

当model.ExternalVenderNo更改时,我只想将IsChanged 字段更改为 true 。

型号bool IsChanged

4

5 回答 5

18

尝试相同的@Html.TextBoxFor

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

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

或者让 Jquery 来处理 change 事件

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

<script type="text/javascript">
$('#ExternalVenderNo').change(function(){
    alert('Changed!');
    @Model.IsChanged = true;
});
</script>
于 2013-10-18T15:05:28.750 回答
12

尝试添加属性

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

这对我有用。

于 2017-03-17T14:30:25.453 回答
5

以下内容肯定对您有用。

$(document).ready(function()
{
   $('#ExternalVenderNo').on("change", function()
   {
      alert('Changed!');
   });
});
于 2013-10-23T11:27:35.103 回答
1

为此尝试jquery

$('#ExternalVenderNo').change(function(){
    alert('Changed!');
});
于 2013-10-18T15:04:46.980 回答
0
                <td>


                    @Html.EditorFor(modelItem => item.mahang,
                        new
                        {
                            htmlAttributes = new
                            {
                                @class = "text",
                                 id = @item.id,
                                 onkeydown = "return  event.keyCode != 13",
                                onChange = "replaceContentsOfDivupdatecodename(**this.id**, this.value)"
                            }
                        })

                    @Html.ValidationMessageFor(modelItem => item.mahang)



                </td>

我花了 3 天时间才找到它,可能有帮助,所以我使用 this.id 来获取价值并输入到功能脚本

 <script>
function replaceContentsOfDivupdatecodename(idxoa, mahang) {
    $.ajax({
        url: '@Url.Action("AddPaialTransferUpdate", "Home")',
        data: {
            id: "_DetailTransferlist.cshtml",
            mahang: mahang,
            idxoa: idxoa
        },
        type: "POST",
        success: function(data) {
            $('#placeHolderDiv2').html(data);
        }
    });
}
于 2021-11-21T00:53:26.423 回答