2015-05-14 41 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