onclick in ASP.NET MVC razor CheckBoxFor nicht funktioniert
Muss ich weisen Sie eine onclick-Ereignis eine CheckBoxFor in ASP.NET MVC razor, aber es wird nie aufgerufen.
Ich habe so etwas wie diese, die nicht funktioniert:
<script type="text/javascript">
function setCompleteStatus() {
alert("setCompleteStatus called");
}
</script>
@Html.CheckBoxFor(m => m.Process.IsComplete,
new Dictionary<string, object>{
{"id", "p1isCompleted"},
{"onclick","setCompleteStatus()"},
{"data-role", "flipswitch"},
{"data-on-text", "complete"},
{"data-off-text", "incomplete"},
{"data-wrapper-class", "custom-size-flipswitch"}})
Dieser Versuch auch nicht funktioniert:
<script type="text/javascript">
$("#p1isCompleted").click(
function setCompleteStatus() {
alert("setCompleteStatus called");
}
);
</script>
Dieser Ansatz führt zu der alert
wird einmal aufgerufen, wenn die Seite geladen wird, aber nicht wenn ich auf die checkbox:
<script type="text/javascript">
$(document).ready(
$("#p1isCompleted").click(
alert("setCompleteStatus called");
)
);
</script>
Wegen der data-
Attribute, die ich nicht verwenden können, ein Wörterbuch wie dieses: new {@onclick, "setCompleteStatus('1')"}
Durch die Art und Weise, es gibt keine javascript-Fehler angezeigt in Firefox die Konsole
InformationsquelleAutor Lyndon | 2014-04-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie es ändern Sie Ihre
{"onclick", "setCompleteStatus()"}
code{"onclick","setCompleteStatus.call(this)"}
und Holen Siethis
variable. Es sollte wie folgt sein:InformationsquelleAutor Adiono
In MVC verwenden
underscore(_)
stattHyphen(-)
für data - * - AttributeGeben Sie einfach die html-Attribute parameter als anonymes Objekt dargestellt, unten für CheckBoxFor.
InformationsquelleAutor Murali Murugesan
Versuchen zu tun:
InformationsquelleAutor Felix
Ich hatte ein ähnliches Problem, wo die onclick-Funktion nicht ausgeführt wurde, auf den IE11, aber es war in Chrome ausgeführt.
Was landete war für mich sowas wie du oben gesagt, dass du gesagt hast, nicht für Sie arbeiten:
aber Sie müssen sicherstellen, dass, wenn Sie erklären es mit jQuery NICHT, Sie haben es auch in Ihrem control-definition
Daher eine Kombination von
(ohne "onclick" - Attribut) und
könnten für Sie arbeiten.
InformationsquelleAutor bitsalsa
Der folgende code funktioniert in MVC5:
InformationsquelleAutor Bogdan Mates
Gut, vielen Dank für Eure Hilfe, Jungs, aber ich habe gerade herausgefunden, dass man nutzen sollte, die
onchange
Ereignis, wenn es mit einem jquery mobile flipswitch und jetzt funktioniert es.InformationsquelleAutor Lyndon