Ich benutze ASP.net MVC. Ich habe drei jquery Schieberegler in der AnsichtSpeichern in mehreren versteckten Feldern in Sicht
<div class="slider" data-hiddenfield="amount" style="width:200px;"></div>
und begleitende versteckte HTML-Felder, deren Wert in db speichern wird.
@Html.HiddenFor(model => model.fear, new { @id = "cvar" })
@Html.HiddenFor(model => model.control, new { @id = "cvar" })
@Html.HiddenFor(model => model.danger, new { @id = "dvar" })
Ist es möglich, die gleiche Javascript-Code zu verwenden und den Wert des Schiebereglers dynamisch auf alle drei versteckte Felder, bevor Formulareinreichung speichern?
Slider Javascript:
$(document).ready(function() {
$(function() {
$(".slider").slider({
orientation: "Horizontal",
range: "min",
min: 0,
max: 100,
value: 60,
slide: function (event, ui) {
$("#cvar").val(ui.value); //to be saved to hidden field
var g = parseInt(ui.value <= 50 ? 255 : 255 - ((ui.value - 50) * (255/50)));
var r = parseInt(ui.value >= 50 ? 255 : 255 - ((50 - ui.value) * (255/50)));
$(".ui-widget-header").css("background", "rgb(" + r + "," + g + ",0)");
},
create: function (event, ui) {
$(".ui-widget-header").css("background", "rgb(255, 200 ,0)");
}
});
});
Sie benötigen nur ein Dokument.ready-Handler; Sie können '$ (document) .ready (function() {' –
Notiert sicher entfernen. Eine letzte Sache, da der Benutzer den Schieberegler auf dem Standardwert belassen kann, gibt es einen einfacheren Weg als die Verwendung von StartPos und EndPos und Berechnen der Differenz am Ende? –
Der einfachste Weg wäre, den Wert der versteckten Felder auf die Schieberegler voreinzustellen, in diesem Fall 60. –