DateRangeSlider获取用户选择的值

时间:2016-08-31 11:28:27

标签: javascript jquery

这是我第一次使用DateRangeSlider(JQRangeSlider)并将其用作时间滑块:JSFiddle

问题是我需要获取用户选择的显示值,例如:如果用户选择间隔:07:39到14:53,我希望以格式获取这两个值'.HH.mm'即可。之后,如果07:39变为09:32,则每次用户释放鼠标时都会得到此值。

我尝试过使用:

var test = $("#slider").dateRangeSlider("values");
var t1 = test.min;

但是t1从边界获得最小值(来自小提琴代码的min2的值)。有没有办法在每次鼠标释放时获取用户选择的值?

3 个答案:

答案 0 :(得分:1)

你必须处理valueschanged事件。并且在valueschanged事件处理程序中,您将在每次鼠标释放时获得最小值

$("#slider").bind("valuesChanged", function(e, data){
   var test = $("#slider").dateRangeSlider("values");
   var t1 = test.min;
})

答案 1 :(得分:1)

根据文档valuesMethod获取您需要的值:

$('#slider').on('valuesChanged', function(e, data) {
    var min = ('00' + data.values.min.getHours()).slice(-2) + ':' + ('00' + data.values.min.getMinutes()).slice(-2);
    var max = ('00' + data.values.max.getHours()).slice(-2) + ':' + ('00' + data.values.max.getMinutes()).slice(-2);
    alert('Min: ' + min + '  Max: ' + max);
  });

  $('#btn').on('click', function(e) {
    var values =     $("#slider").dateRangeSlider('values');

    var min = ('00' + values.min.getHours()).slice(-2) + ':' + ('00' + values.min.getMinutes()).slice(-2);
    var max = ('00' + values.max.getHours()).slice(-2) + ':' + ('00' + values.max.getMinutes()).slice(-2);
    alert('Min: ' + min + '  Max: ' + max);
  })

或者您可以直接使用valuesChanged事件。

{{1}}

Updated fiddle

答案 2 :(得分:0)

试试这段代码



$("#slider").bind("valuesChanged", function(e, data){      
console.log(data.values.min.getHours()+":"+data.values.min.getMinutes()); 
  console.log(data.values.max.getHours()+":"+data.values.max.getMinutes());
});