我正在开发一个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
答案 0 :(得分:12)
使用@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处理更改事件
@Html.EditorFor(model => model.ExternalVenderNo)
<script type="text/javascript">
$('#ExternalVenderNo').change(function(){
alert('Changed!');
@Model.IsChanged = true;
});
</script>
答案 1 :(得分:5)
以下内容肯定适合您。
$(document).ready(function()
{
$('#ExternalVenderNo').on("change", function()
{
alert('Changed!');
});
});
答案 2 :(得分:4)
尝试添加属性
@Html.EditorFor(model => Model.Lengthofside1, new { htmlAttributes = new { onchange = "OnChangeEvent(this)", @class = "form -control text-right" } })
这对我有用。
答案 3 :(得分:1)
为此尝试jquery
$('#ExternalVenderNo').change(function(){
alert('Changed!');
});