2015-05-14 39 views
0

我目前有一個屏幕上可以有多個範圍滑塊。 每個滑塊的總範圍爲0到滑塊 可以具有的最大組合。例如start: 0; end: 20;基礎範圍滑塊不能強制限制

在我的應用程序中,我想爲用戶可以通過滑塊選擇的值設置一些限制。因此,當滑塊可視範圍爲每個滑塊提供0 - 20的完整外觀時,用戶只能選擇2 - 10 ,然後我稍後驗證所有滑塊的總數都在20以內的可接受範圍內。

目前我有一些像這樣的代碼,這似乎無能爲力

self.$qtyForm.on('change.fndtn.slider', '.range-slider', function (e) { 
    var $rng = $(this), 
     qty = parseInt($rng.data('slider'), 10); 

    if (qty > maxChoiceQty) { 
     $rng.foundation('slider', 'set_value', maxChoiceQty); 
    } 

    if (qty < minChoiceQty) { 
     $rng.foundation('slider', 'set_value', minChoiceQty); 
    } 
}); 

我也注意到,當我觸摸滑塊旋鈕的變化事件觸發。 所以這實際上是50次射擊,而用戶改變的範圍 看起來不正確。任何方式來限制或使用其他事件

回答

0

jQuery在內部存儲數據屬性一旦加載。替換此行:

qty = parseInt($rng.data('slider'), 10)

與此:

qty = $($rng).attr('data-slider')

,你應該得到當前滑塊值。

+0

感謝您的回答。我最終使用了http://refreshless.com/nouislider/,因爲基金會在其他行爲中也不太一致。 – BillPull