Я использую ASP.net MVC. У меня есть три ползунка jquery на видСохранение нескольких скрытых полей в поле зрения
<div class="slider" data-hiddenfield="amount" style="width:200px;"></div>
и сопутствующие скрытые html-поля, значение которых будет сохранено в db.
@Html.HiddenFor(model => model.fear, new { @id = "cvar" })
@Html.HiddenFor(model => model.control, new { @id = "cvar" })
@Html.HiddenFor(model => model.danger, new { @id = "dvar" })
Можно ли использовать один и тот же код Javascript и сохранить значение ползунка динамически для всех трех скрытых полей, перед отправкой формы?
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)");
}
});
});
Вам нужен только один обработчик document.ready; вы можете безопасно удалить '$ (document) .ready (function() {' –
Отмечено. Последнее, поскольку пользователь может оставить свой ползунок по умолчанию, есть ли более простой способ использовать startPos и endPos и вычисляя разницу в конце? –
Простейшим способом было бы по умолчанию значение скрытых полей соответствовать ползункам, в этом случае '60'. –