2

我试图从 jQuery 移动滑块中获取一个值,然后将其拖动一点,然后以编程方式将其设置为另一个 jQuery 移动滑块。

我已经尝试过$(selector).slider(value), $(selector).attr('value),或者$(selector).slider().value()但它们似乎都不适用于我的情况。

我正在使用 jQuery Mobile 1.2.0 和 jQuery 1.8.0

下面是我试图开始工作的代码:

$('#slider1').change(function(){
        var slide1Val = $(this).val();
        $('#slider2').val(slide1Val).slider('refresh');
};

这是我正在尝试处理的实际 URL

4

2 回答 2

1

你可以做这样的事情

$("#gen1").live("pageinit",function(){
     $("#slider1").change(function(){
         $("field1").html(this.value);
         $("#slider2").val(this.value/2);
         $("#slider2").slider("refresh");
   });
});

希望这可以帮助

于 2013-01-23T06:10:16.830 回答
1

这是一个工作示例:http: //jsfiddle.net/Gajotres/PzTeX/

该示例是为这个问题创建的:https ://stackoverflow.com/a/13554192/1848600

我一个月前做的。基本上它会根据第一个滑块移动 3 个其他滑块,这是一个代码示例:

$("input#europe, input#us, input#uk, input#japan").live("slidestop", function() {
    $(this).mouseup();
    var changeVal = ($(this).val() - $(this).attr('min'))/($(this).attr('max') - $(this).attr('min'));
    changeSliders(changeVal, $(this).attr('id'));    
});

function changeSliders(changeVal, sliderID){
    $("input#europe, input#us, input#uk, input#japan").each(function(){
    var newValue = parseFloat($(this).attr('min')) + parseFloat(($(this).attr('max') - $(this).attr('min')))*changeVal;
    if($(this).attr('id') != sliderID) {    
        $(this).val(newValue);
    }
    });
    $("input#europe, input#us, input#uk, input#japan").slider('refresh');    
}
于 2013-01-23T08:13:40.547 回答