我正在使用egorkhmelev's https://github.com/egorkhmelev/jslider(日期为2012年10月10日)但无法以编程方式初始化jslider实例。我也使用jQuery 1.9.1和完整的jQuery-ui 1.10.3(都缩小了)
我在Egor的文档和本网站上看到了对$(elementID).slider("value", value, value)
的引用,但是当我把它放在后续语句中的document.ready函数中来构建jslider时,jQuery 1.9.1报告
Error: cannot call methods on slider prior to initialisation; attempted to call method 'value'
如果我将.slider("value"...)
代码行移到document.ready函数之外,则不会生成此错误,但它也没有执行任何操作。我在doc.ready内外尝试了.
j slider("value"...)
但是虽然它没有生成错误,但它也没有设置默认值。
我也尝试在jslider初始化中指定'value'选项,但这也没有效果。
获得创意,我也尝试了
$('input[id=timeSlider]').val(defaultValue);
$('#timeSlider').slider("value",defaultValue);
和
$('#timeSlider').html($('#timeSlider').html().replace(/value=\d+/,'value='+defaultValue));
两者都没有任何效果。 doc ready中的.html()
不返回任何内容。
我发现我必须在HTML中包含value=NN
参数,否则我会得到uncaught exception: jquery.slider: INPUT element does not have a value.
我已经尝试过,但我一直在寻找答案,但我无法解决这个问题。如果我错过了显而易见的事,我道歉。
HTML:
<span style="display: inline-block; width: 270px; padding: 1em 1em 1.5em 1em;">
<input id="timeSlider" type="slider" name="timeSlide" value=15 />
</span>
Javascript(来自doc ready函数):
$('#timeSlider').jslider({ from: 0, to: 600, heterogeneity: ['25/10', '50/20', '75/120'], step: 1, round: 1, limits:false, scale: ['∞', '|', 10, '|', '20', '|', 120, '|', 600], dimension: ' s', skin: "plastic", onstatechange: function (value) { defaultValue = value; } });
其中defaultValue
是全局变量。
谢谢。