У меня есть этот код, который использует JQuery UI для создания слайдера. Он вызывает функцию, когда ползунок остановлен (когда вы перестаете перемещать слайдер) и создает поле скрытой формы со значением, содержащимся в слайдере (чтобы он мог быть POST'ed после отправки формы.)JQuery Slider - функция остановки - что делать, если пользователь не останавливается?
Это отлично работает, за исключением одной незначительной ошибки:
Если пользователь не перемещает ползунок, stop:
никогда не запускается, и поэтому скрытое поле формы никогда не создается.
Каков наилучший способ исправить это?
$(function() {
$("#slider8").slider({
orientation: "horizontal",
range: "min",
min: 0,
max: 100,
value: 50,
stop: function(event, ui) {
var $s1 = $('<input/>', {type: 'hidden',id:'slider8',name:'slider8', value: ui.value});
$s1.appendTo('.form-horizontal');
}
});
});
Измените свою логику ux? –
Почему бы не добавлять скрытое поле формы всегда и иметь значение по умолчанию, таким образом всегда есть значение. Затем просто перезапишите значение, если пользователь использует ваш слайдер? – JanR
Дох. Почему я не подумал об этом? :> –