以编程方式初始化egorkhmelev jslider

时间:2013-06-23 14:57:11

标签: jquery jquery-ui

我正在使用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是全局变量。

谢谢。

0 个答案:

没有答案