1

我正在玩 jquery 范围滑块,我设法将两个值拆分为不同的输入。现在不要生我的气,我仍然对 jquery 不感兴趣,我想知道如何设置每个输入都遵循滑块上的句柄?

就像在这个例子中:http ://egorkhmelev.github.io/jslider/

到目前为止,我的代码如下所示:

脚本:

$(function() {
    $( ".slider-assets" ).slider({
        range: true,
        min: 100,
        max: 500,
        values: [ 200, 300 ],
        slide: function( event, ui ) {
            $( ".amount-assets1" ).val( ui.values[ 0 ] + "k €");
            $( ".amount-assets2" ).val( ui.values[ 1 ] + "k €" );
        }
        });
        $( ".amount-assets1" ).val($( ".slider-assets" ).slider( "values", 0 ) + "k €" );
        $( ".amount-assets2" ).val($( ".slider-assets" ).slider( "values", 1 ) + "k €" );
});

html:

<input type="text" class="amount-assets1" />
<input type="text" class="amount-assets2" />
<div class="slider-assets"></div>

CSS:

.amount-assets1,.amount-assets2{
    width: 48px;
}

你可以在这里看到和玩我的 jsfiddle:http: //jsfiddle.net/dzorz/sJBLh/

问题是我不知道从哪里开始。我是否需要另一个将工具提示放在句柄或其他东西上方的插件?

欢迎任何建议和解决方案。

谢谢。

4

2 回答 2

1

您需要使用事件函数指定您的工具提示句柄参见代码:

var sliderTooltip = function(event, ui) {
var curValue = ui.value || initialValue;
var tooltip = '<div class="tooltip"><div class="tooltip-inner">' + curValue + '</div><div class="tooltip-arrow"></div></div>';

$('.ui-slider-handle').html(tooltip);

}

请参阅下面的演示以获取完整参考:http: //jsfiddle.net/npsingh/WQe98/

于 2013-09-19T09:15:18.537 回答
0

好的,我设法让它工作:http: //jsfiddle.net/dzorz/X3DVv/

脚本有点复杂,但它有效:

    $(function() {
    $( ".slider-assets" ).slider({
        range: true,
        min: 100,
        max: 500,
        values: [ 200, 300 ],
        slide: function( event, ui ) {
            $( ".amount-assets" ).val( ui.values[ 0 ] + "k € - " + ui.values[ 1 ] + "k €");

            $('.ui-slider-handle:first').html('<div class="tooltip top slider-tip"><div class="tooltip-arrow"></div><div class="tooltip-inner">' + ui.values[0]  + "k €" + '</div></div>');
            $('.ui-slider-handle:last').html('<div class="tooltip top slider-tip"><div class="tooltip-arrow"></div><div class="tooltip-inner">' + ui.values[1]  + "k €" + '</div></div>');

        }
        });
        $( ".amount-assets" ).val($( ".slider-assets" ).slider( "values", 0 ) + "k € - " + $( ".slider-assets" ).slider( "values", 1 ) + "k €" );

        $('.ui-slider-handle:first').html('<div class="tooltip top slider-tip"><div class="tooltip-arrow"></div><div class="tooltip-inner">' + $(".slider-assets").slider("values", 0)  + "k €" + '</div></div>');
        $('.ui-slider-handle:last').html('<div class="tooltip top slider-tip"><div class="tooltip-arrow"></div><div class="tooltip-inner">' + $(".slider-assets").slider("values", 1)  + "k €" + '</div></div>');
});
于 2013-09-19T10:31:18.843 回答