2013-07-23 73 views
0

我有一個editorfor字段是一個複選框,當它從false更改爲true並提交表單時,我需要跟蹤複選框已更改並標記爲true。它也必須是一個JavaScript或jQuery的功能。Editorfor複選框字段onclick

<div class="editor-field"> 
@Html.EditorFor(model => model.IsPublic) 

</div> 

如果我需要更好地解釋這個,請告訴我。我只是想不出怎麼回事explain.Thanks

回答

1

希望下面的代碼將做到這一點:

@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'); 
     } 
    });  
});