Это код для моего слайдера jquery ui:
var slidervalue = 100;
$(function () {
$( "#slider" ).slider({
range: "min",
value: 100,
min: 1,
max: 700,
slide: function( event, ui ) {
$( "#amount" ).val(ui.value );
slidervalue = ui.value;
}
});
$( "#amount" ).val( $( "#slider" ).slider( "value" ) );
});
И это дополнительная функция, которую я создал, чтобы получить номер из моего названия сделки и рассчитать экономию и отобразить результат.
function updateSlider() {
$.each($('.coupontitle'),function(index,coupObj){
if ($(coupObj).text().match(/(\d+)\%/i))
{
var percent = $(coupObj).text().match(/(\d+)\%/i);
var savings = ((percent[1]*.01) * slidervalue).toFixed(0);
$('span',coupObj).html('Save: $'+savings);
}
else if ($(coupObj).text().match(/\$(\d+)/i))
{
var percent = $(coupObj).text().match(/\$(\d+)/i);
var savings = ((percent[1]*.01) * 100).toFixed(0);
$('span',coupObj).html('Save: $'+savings);
}
});
}
этот код работает правильно вместе с ползунком. прямо сейчас, когда пользователь скользит по ползунку, количество, соответствующее ползунку, передается с использованием ui.value и передается в вышеуказанную функцию и вычисляется.
Но, когда я вводим значение в текстовое поле вручную, я хочу, чтобы ползунок перемещался автоматически, и я хочу, чтобы это значение передавалось в функцию для вычисления. Прямо сейчас, когда сумма вводится вручную, входное значение не передается в функцию.
Я хочу, чтобы ползунок работал как этот сайт: http://www.chippmunk.com/
Я столкнулся с этим jsfiddle, который выполняет эту работу, но при вводе вручную он не передает значение текстового поля в мою функцию, чтобы продолжить вычисление.
jsfiddle - http://jsfiddle.net/andrewwhitaker/MD3mX/
Это будет работать, я бы переместил $ -sign из ввода.
http://jsfiddle.net/Rusln/MD3mX/847/
$("#slider").slider({
range: "min",
value: 1,
step: 1000,
min: 0,
max: 5000000,
slide: function (event, ui) {
$("input").val(ui.value);
}
});
$("input").change(function () {
$("#slider").slider("value",this.value);
});
ОБНОВИТЬ
http://jsfiddle.net/Rusln/KLj6Z/
$("#slider").slider({
range: "min",
value: 1,
step: 1,
min: 0,
max: 100,
slide: function (event, ui) {
$("input").val(ui.value);
}
});
$("input").on("keyup",function(e){
$("#slider").slider("value",this.value);
});