2013-01-23 60 views
2

我試圖從一個jQuery移動滑塊拖動值了一點,然後以編程方式設置到另一個jQuery的移動滑塊後。以從jQuery Mobile的滑塊的值,並設置它在另一個滑塊

我試過$(selector).slider(value)$(selector).attr('value)$(selector).slider().value()但他們都似乎沒有在我的情況下工作。

我使用jQuery移動1.2.0和jQuery 1.8.0

下面是我試圖去上班代碼:

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

Here's the actual URL that I'm trying to work on

回答

1

可以做這樣的事情

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

希望這會有所幫助

+0

您可以在這裏找到一個小提琴jsfiddle.net/YemGJ/1。但是,你的代碼是正確的,並且工作正常。請讓我知道如果我失去了一些東西。 – saraf

+0

這個很有意義。玩弄了那個小提琴,但它似乎並沒有很好地融入我的代碼中。下面是我的代碼http://jsfiddle.net/b3bJr/5/小提琴 – alvinjorrel

+0

你可以找到你的代碼在這裏工作小提琴http://jsfiddle.net/b3bJr/7/我加入的變化事件「 「gen1」的pageinit'。這將確保在你執行任何事情之前,div是好的。希望這有助於 – saraf

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');  
}