2012-05-24 82 views
2

我想要创建一个在下拉菜单{daily,weekly和monthly}上运行的范围滑块。如何在jquery中创建一个范围滑块,用于每日,每周和每月的步骤

每日步骤的选择更改为7,minDate chages到maxDate表示今天的日期-7。选择每周的步骤更改为4(7-7-7-7 = 30),并将minDate更改为(maxDate)今天的日期-30。 在每月步骤选择更改为12(12个月= 365天)和minDate chages到(maxDate)今天-365。

而且两者的鼠标指针指向MAXDATE

var maxdate1 = new Date(), 
    minDate1 = removeDays(new Date(), -7); 
alert(minDate1); 

$("#slider") 
    .slider({range: true, 
     step: 1, 
     animate:true, 
     value: maxDate1, 
     values [minDate1, maxDate1], 
     max: Math.floor((maxDate1.getTime() - minDate1.getTime())/86400000), 

     slide: function(event, ui) { 

     var date = new Date(minDate1.getTime()); 
     date.setDate(date.getDate() + ui.values[0]); 

     $('#startDate').val($.datepicker.formatDate('mm/dd/yy', date)); 
     $('#from').val($.datepicker.formatDate('M d, yy', date));   

     date = new Date(minDate1.getTime()); 

     date.setDate(date.getDate() + ui.values[1]); 

     $('#endDate').val($.datepicker.formatDate('mm/dd/yy', date)); 
     $('#to').val($.datepicker.formatDate('M d, yy', date)); 
     } 
    }); 
+0

什么是您的问题或具体问题?另外,请为了可读性缩进您的代码。 – apsillers

+1

你能澄清你的问题吗?另外,发布你的问题[jsFiddle](http://jsfiddle.net),所以我们有一个工作副本来看看。 – DACrosby

回答

0

如果我理解正确的话,你希望能够改变滑块的参数(例如步,最小值,最大值等),它被初始化后, 。像这样的东西应该工作:

$('#dropdown').change(function() { 
    switch ($(this).val()) { 
    case 'daily': 
     $('#slider').slider('option', 'step', 1); 
     break; 
    case 'weekly': 
     $('#slider').slider('option', 'step', 7); 
     break; 
    case 'monthly': 
     $('#slider').slider('option', 'step', 30); 
     break; 
    } 
}); 
相关问题