JQuery UI Slider未捕获TypeError:无法读取undefined的属性'addClass'

Lia*_*yan 6 javascript jquery jquery-ui

我已经检查了所有关于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"));
            }
        });
Run Code Online (Sandbox Code Playgroud)

然而,这将工作

$("#slider").slider({
            value: 500,
            min: 500,
            max: 10000,
            step: 500,
            slide: function(event, ui) {
                $( "#amount" ).val( "$" + $( "#slider").slider( "value"));
            }
        });
Run Code Online (Sandbox Code Playgroud)

控制台输出

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"); 
[]
Run Code Online (Sandbox Code Playgroud)

Chr*_*ris 3

再看看你的变量 ( window.settings.principal.*) 。我刚刚复制了你的源代码,用我自己的源代码替换了它们,并且它起作用了,所以你的代码似乎没问题。确保它们不仅是有效的数字,而且在上下文中有意义。

  • 事实证明,问题是我的最大整数低于初始值,因此与问题提供非整数变量的所有其他问题不同,我的问题是提供错误的整数变量:) (7认同)