我已经检查了所有关于SO的问题,我似乎无法找到答案。如果我将整数直接放入字段然后这可以工作,但我想在设置脚本时动态设置参数
我正在运行JQuery 1.11.1,JQuery UI stable(1.11.0)和touchpunch。我调试了变量,并且在调用此变量时都会存在并初始化。我也尝试用相同的结果包装自执行函数。
(可以忽略滑动功能)
抛出异常
编辑我刚刚注意到,如果我点击滑块,则会抛出异常,但如果我按下右箭头键,则不会抛出任何异常,并使用value属性填充金额。我在问题的最后粘贴了控制台输出。
$("#slider").slider({
value: parseInt(window.settings.principal.minimum),
min: parseInt(window.settings.principal.minimum),
max: parseInt(window.settings.principal.maximum),
step: parseInt(window.settings.principal.increment),
slide: function(event, ui) {
$( "#amount" ).val( "$" + $( "#slider").slider( "value"));
}
});
然而,这将有效
$("#slider").slider({
value: 500,
min: 500,
max: 10000,
step: 500,
slide: function(event, ui) {
$( "#amount" ).val( "$" + $( "#slider").slider( "value"));
}
});
控制台输出
jQuery("#slider").slider("value");
5000
jQuery("#slider").slider("min");
Error: no such method 'min' for slider widget instance
jQuery("#slider").slider("minimum");
Error: no such method 'minimum' for slider widget instance
jQuery("#slider").slider("max");
Error: no such method 'max' for slider widget instance
jQuery("#slider").slider("interval");
Error: no such method 'interval' for slider widget instance
jQuery("#slider").slider("step");
Error: no such method 'step' for slider widget instance
jQuery("#slider").slider("values");
[]
答案 0 :(得分:3)
再给你的变量(window.settings.principal.*
)看一看。我只是复制了你的源代码,用我自己的代码替换它们,并且它工作正常,所以你的代码似乎没问题。确保它们不仅是有效的数字,而且它们在上下文中是有意义的。
答案 1 :(得分:0)
我遇到了同样的问题。只是在试用n错误基础上,我发现问题出在parseInt()函数中。我删除了该功能,只使用了原始数据:
$("#slider").slider({
value: window.settings.principal.minimum,
min: window.settings.principal.minimum,
max: window.settings.principal.maximum,
step: window.settings.principal.increment
});
我们似乎正在为滑块复制一段旧片段。我没有想到这个设置中的parseInt()有什么问题,因为我不是那种技术,但我希望这有助于其他人。
答案 2 :(得分:0)
请检查最小值和最大值,最小值应小于最大值。
请查看以下示例以供参考。
$( ".slider1"+blockid ).slider({
range: "min",
value:0,
min: 100,
max: 10000,
step : 10000,
animate:true,
slide: function( event, ui ) {
console.log(ui.value);
},
create: function(event,ui){
}
});