我有一个 editorfor 字段,它是一个复选框,当它从 false 更改为 true 并提交表单时,我需要跟踪复选框已更改并标记为 true。它还必须是 javascript 或 jquery 函数。
<div class="editor-field">
@Html.EditorFor(model => model.IsPublic)
</div>
如果我需要更好地解释这一点,请告诉我。我只是想不出还有什么办法来解释。谢谢
我有一个 editorfor 字段,它是一个复选框,当它从 false 更改为 true 并提交表单时,我需要跟踪复选框已更改并标记为 true。它还必须是 javascript 或 jquery 函数。
<div class="editor-field">
@Html.EditorFor(model => model.IsPublic)
</div>
如果我需要更好地解释这一点,请告诉我。我只是想不出还有什么办法来解释。谢谢
希望下面的代码能做到:
@Html.HiddenFor(model => model.IsPublicChanged) @*create special model field for handling change event*@
$().ready(function () {
//catch change event and assign value to hidden field
$("input[name=IsPublic]").on("change", function () {
$("input[name=IsPublicChanged]").val('true');
});
});
或者,如果您想查看复选框的值与其初始值相比是否发生了变化,则可以使用一些不同的 js 代码:
$().ready(function () {
var trackValue = $("input[name=IsPublic]").prop("checked");
$("form").on("submit", function () {
var actualValue = $("input[name=IsPublic]").prop("checked");
if (actualValue != trackValue) {
$("input[name=IsPublicChanged]").val('true');
}
});
});