2013-02-14 62 views
3

我需要一些關於jQuery UI滑塊的幫助,我已經設置了初始值,但似乎無法找到加載頁面時顯示它的方法。我還需要能夠將兩個滑塊值調用到一個函數中進行計算,然後將其顯示到屏幕上。jQuery UI滑塊 - 在函數中使用默認值

您可以在這裏查看我的小提琴測試>http://jsfiddle.net/cC3Qh/

jQuery的

$(function() { 
    $("#slider1").slider({ 
     max: 2500, 
     value: 1000, 
     slide: function(event, ui) { $("#slider-result1").html(ui.value); }, 
     change: function(event, ui) { calPrice(ui.value); } 
    }); 

    $("#slider2").slider({ 
     max: 30, 
     value: 12, 
     slide: function(event, ui) { $("#slider-result2").html(ui.value); }, 
     change: function(event, ui) { calDays(ui.value); } 
    }); 
    }); 

    function calDays(sliderval){ 
    var day = sliderval; 
    day = day * 100; 
    document.getElementById('price2').innerHTML = day; 
    var price = document.getElementById('price1').innerHTML; 
    price = price * day; 
    document.getElementById('price3').innerHTML = price; 
    } 

    function calPrice(sliderval){ 
    var price = sliderval; 
    price = price * 100; 
    document.getElementById('price1').innerHTML = price; 
    } 

感謝。

回答

3

添加create事件處理滑塊:

$("#slider1").slider({ 
    max: 2500, 
    value: 1000, 
    slide: function (event, ui) { 
     $("#slider-result1").html(ui.value); 
    }, 
    change: function (event, ui) { 
     calPrice(ui.value); 
    }, 
    create: function (event, ui) { 
     $("#slider-result1").html($(this).slider("value")); 
    } 
}); 
+0

如果您要創建處理程序路由,您可以簡單地使用'ui.value'而不是'$(this).slider(「value」)' – 2013-02-14 07:24:10

+0

@SamuelL我對自己感到驚訝,但是在創建'ui'參數時沒有價值屬性 – 2013-02-14 07:31:49

+0

有趣。感謝您指出了這一點! – 2013-02-14 07:32:37

3

添加到您準備功能:

// display slider value on load 
$("#slider-result1").html($("#slider1").slider("value")); 
$("#slider-result2").html($("#slider2").slider("value")); 

// perform calculations on load 
calPrice($("#slider1").slider("value")); 
calDays($("#slider2").slider("value")); 

http://jsfiddle.net/samliew/cC3Qh/1/

+0

謝謝你,它的作品,但我尤里Rozhovetskiy答案去: - ) – grandpagohan 2013-02-14 07:15:21