Mit Javascript auf "EditorFor" Felder?
In MVC4 ich habe ein Feld "editorfor" dies ist ein boolean und wird dargestellt, als eine checkbox, die ich möchte, um andere "EditorFor" Felder ändern nicht bearbeitet werden, wenn die checkbox angekreuzt ist. Dies wäre einfach in reinem html, aber mit razor-syntax bin ich mir nicht sicher, wie dies zu tun.
<div class="editor-field">
@Html.EditorFor(model => model.Draw)
@Html.ValidationMessageFor(model => model.Draw)
</div>
<script type="text/javascript">
function validate() {
if (document.getElementById('@Html.EditorFor(model => model.Draw)').checked) {
alert("checked")
} else {
alert("You didn't check it! Let me check it for you.")
}
}
Wurde versucht zu testen, mit diesem Skript, aber ich dont wissen, die ID des "editorfor" ich bin mir nicht sicher, was zu tun ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie CheckBoxFor statt "EditorFor" (das ist ein allgemeiner Helfer), können Sie ganz einfach HTML-Attribute durch die Methode überladen. Hinzufügen einer ID können Sie die auf es von Ihr JavaScript.
(Hinweis: Dieses Beispiel verwendet jQuery)
ASP.NET MVC 4 hat neue
NameExtensions
- Klasse, dieIdFor
undNameFor
Methoden. Sie können es verwenden, wie diese: