變化的滑塊處理程序以下行:
$("input").val(prices[contract][qty - 1]);
到
$("input").val(prices[contract][ui.value - 1]);
原始代碼使用變量qty
這是一個字符串。當您嘗試從中扣除1時,將導致「Not a Number」不能用於索引batches
陣列。
還有你prices
陣列的一個問題。它們只包含三個值,但你的滑塊可以選擇第四,你需要添加一個值到這些陣列的末尾:
var prices = {
'none': [10, 9, 8, ?],
'12 months': [9, 8, 7, ?],
'24 months': [8, 7, 6, ?],
'36 months': [7, 6, 5, ?],
};
Updated fiddle
我不知道究竟是爲什麼滑塊做頁面首次加載時不能正確動畫。
編輯:
滑塊是行不通的頁面加載時的原因是因爲用於初始化的變量值:
var contract = 'Geen'
當滑塊移動代碼$("input").val(prices[contract][qty - 1]);
嘗試在contracts
數組中查找值Geen
並失敗,因此該函數因錯誤而結束,並且jQueryUI從未完成更新滑塊的工作。直到你移動第二個滑塊,變量才能正確設置。
設置的contract
初始值設定爲「無」表示的代碼將正確執行和滑塊將動畫。
也有位置更改合同期限滑塊設定價格時忽視了量滑塊的值的錯誤。行:
$("input").val(prices[contract][ui.value - 1]);
在 「slider2」 事件處理
應改爲:
$("input").val(prices[contract][$("#slider1").slider("value") - 1]);
看一看the updated fiddle在這一切現在的作品。
你可以檢查嗎? HTTP://的jsfiddle。淨/ vBVkL/22/ 讓我知道如果它不是你需要的,你沒有把parseInt – abhijit
@abhi - 你不能''parseInt'範圍。 var'qty'將會包含'batches'數組中的一個字符串:「1-50」,「51-250」,「251-1000」,「1000+」 – Tony
沒有我不在範圍Tony的parseInt,它的on字符串,數組的索引qty = batch [parseInt(ui.value) - 1] – abhijit