Die übergabe eines jQuery-Wert zu MVC 3 Razor view html-Helfer
Ich habe die folgende jQuery-Funktion eingebettet in eine MVC Razor-Seite:
<script type="text/javascript">
$(document).ready(function () {
$("input[name=MultiListsetting]").change(function () {
var valueString = "";
$("input[name=MultiListsetting]:checked").each(
function () {
valueString += this.id + ","
}
);
var MultiValueListResult = valueString.slice(0, -1);
alert(MultiValueListResult);
});
});
</script>
Diese gibt eine Zeichenfolge basierend auf dem id-Attribut einer Reihe von Kontrollkästchen. Wenn Sie eine checkbox-value-änderungen, die Zeichenfolge wird umgebaut. So mit 3 Checkboxen, alle geprüft, die Funktion wird ausgegeben: "checkboxID1,checkboxID2,checkboxID3", bis Sie geändert werden. Dies ist die Art, wie unsere DB-server speichert die Werte für diese Reihe von Checkboxen. Was muss ich nun erreichen, ist die Zeichenfolge übergeben, die diese Funktion gibt zu einem versteckten HTML-element auf die gleiche Razor Seite.
@Html.Hidden("SetViewModel[" + i + "].Value", [string output here])
Wird jQuery ermöglichen das verschieben??? Kann ich das irgendwie übernehmen "MultiValueListResult" und plop es in die versteckten Steuern? Ich bin immer noch der Erforschung.
InformationsquelleAutor ewomack | 2011-05-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie mischen die Ausführungszeit in Ihre Vorlage dünkt mich; Ihre HTML-hidden-Feld wird auf der Seite sein, lange bevor die jQuery ausgeführt wird. Was Sie tun müssen, ist einfach Ihre verborgenen Feld:
Und dann in der callback, einfach zu aktualisieren ist es Wert:
Wenn der form wird zurück gebucht wird, wird der Wert der ausgewählten Gruppe, die in den verborgenen Wert.
InformationsquelleAutor Tejs