2015-06-17 77 views
0

我正在使用jQuery UI的滑塊,我想從多個滑塊返回結果,因此我可以執行計算。無法返回使用jQuery的結果

這是我迄今爲止,但我努力從功能外側得到任何結果。

$(function() { 
    var x 
    $("#slider4").slider({ 
     value: 1, 
     min: 0, 
     max: 50, 
     step: 5, 
     slide: function(event, ui) { 
      $("#items").val("$" + ui.value); 
      x =$("#items").val("$" + ui.value); 
     } 

    }); 
    $("#items").val("$" + $("#slider4").slider("value")); 
    console.log(x) // this doesnt update the console with the slider value 
}); 

理想情況下,我想添加多個滑塊結果類似於下面的函數。

var z = x * y; 
+0

它看起來像'$(「#slider4」)。slider(「value」)'應該返回'1'。你是說那不是這種情況? –

+0

您的代碼有效:http://jsfiddle.net/yza37cah/。除了設置'val()'時不必要的字符串連接,你有問題嗎? –

+0

是的,但它的確如此,但我需要的是當滑塊更改時,x的值可在函數外部使用 – rob

回答

1

爲了得到滑塊的價值slide處理器之外,你可以檢索#items值(因爲你更新的slide處理程序中):

var sliderValue = $('#items').val(); 

或者你可以閱讀從slider()直接值:

var sliderValue = $('#slier4').slider('option', 'value'); 

另外請注意,設置搜索時不需要附加空字符串摹val()

$("#slider4").slider({ 
    value: 1, 
    min: 0, 
    max: 50, 
    step: 5, 
    slide: function(event, ui) { 
     $("#items").val(ui.value); 
    } 
}); 
+0

嗨Rory,我已經更新了我的代碼,希望能給你更多的想法我試圖實現的 – rob

0

值不會奇蹟般地不斷更新的文本框,你需要編寫代碼,更新滑塊值發生變化時的值。因此,添加一個change event

change: function(event, ui) { $("#items").val(ui.value); } 
+1

OP在'slide'處理程序中有這個工作。 –

+0

文本框工作正常,我的問題是存儲結果後,它已經改變,然後做一個計算。我打算有多個滑塊,並根據選擇完成計算並將總數呈現給用戶 – rob

+0

因此,在運行計算時請閱讀滑塊的值!我不確定你的問題究竟是什麼... – epascarello