这是我的 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.chipmunk.com/
我遇到了这个 jsfiddle,它可以完成工作,但是当手动输入时,它不会将文本框值传递到我的函数中以继续计算。
jsfiddle - http://jsfiddle.net/andrewwhitaker/MD3mX/