2017-01-02 1 views
0

다음 코드를 작성했습니다.동일한 양식의 여러 DateRangePicker

var start = moment().subtract(1, 'days'); 
var end = moment().subtract(1, 'days'); 
var start2 =moment().subtract(2, 'days'); 
var end2 =moment().subtract(2, 'days'); 

function cb(start, end, start2, end2) { 
    console.log(start2); 
    $('#reportrange3 span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY')); 
    $('#reportrange4 span').html(start2.format('MMMM D, YYYY') + ' - ' + end2.format('MMMM D, YYYY')); 
    retrievedata(start.format('YYYY-MM-DD'), end.format('YYYY-MM-DD'),start2.format('YYYY-MM-DD'), end2.format('YYYY-MM-DD')); 
} 

$('#reportrange3').daterangepicker({ 
    startDate: start, 
    endDate: end, 
    ranges: { 
     'Today': [moment(), moment()], 
     'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], 
     'Last 7 Days': [moment().subtract(6, 'days'), moment()], 
     'Last 30 Days': [moment().subtract(29, 'days'), moment()], 
     'This Month': [moment().startOf('month'), moment().endOf('month')], 
     'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] 
    } 
}, cb); 

$('#reportrange4').daterangepicker({ 
    startDate: start2, 
    endDate: end2, 
    ranges: { 
     'Today': [moment(), moment()], 
     'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], 
     'Last 7 Days': [moment().subtract(6, 'days'), moment()], 
     'Last 30 Days': [moment().subtract(29, 'days'), moment()], 
     'This Month': [moment().startOf('month'), moment().endOf('month')], 
     'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] 
    } 
}, cb); 

cb(start, end, start2, end2); 

내가있어 문제는 모두 reportrange의 값을 업데이트하는은을 console.log (START2)이 같은 "오늘"또는 "어제"와 같은 텍스트 값을 반환, 그래서이 오류와 함께 종료 "오늘". 형식 ('MMMM D, YYYY')이 실제로 작동하지 않습니다 ...

어떤 아이디어가 있습니까? 감사!

+1

[jsfiddle] (https://jsfiddle.net/dp7rzmw5/2261/) 잘 작동합니다. 내가 너를 도울 수 있도록 바이올린을 만들 수 있니? –

답변

0

마지막으로 해결책을 찾았습니다. 변수 범위에서 문제가 발생했습니다.

startnew = moment().subtract(1, 'days'); 
endnew = moment().subtract(1, 'days'); 
startnew2 =moment().subtract(2, 'days'); 
endnew2 =moment().subtract(2, 'days'); 

function cb3(start, end) { 
      startnew = start; 
      endnew = end; 
      $('#reportrange3 span').html(startnew.format('MMMM D, YYYY') + ' - ' + endnew.format('MMMM D, YYYY')); 
      retrievedata(startnew.format('YYYY-MM-DD'),endnew.format('YYYY-MM-DD'),startnew2.format('YYYY-MM-DD'),endnew2.format('YYYY-MM-DD')); 

     } 
function cb4(start2, end2) { 
      startnew2 = start2; 
      endnew2 = end2; 
      $('#reportrange4 span').html(start2.format('MMMM D, YYYY') + ' - ' + endnew2.format('MMMM D, YYYY')); 
      retrievedata(startnew.format('YYYY-MM-DD'),endnew.format('YYYY-MM-DD'),startnew2.format('YYYY-MM-DD'),endnew2.format('YYYY-MM-DD')); 
     } 



$('#reportrange3').daterangepicker({ 
      startDate: startnew, 
      endDate: endnew, 
      ranges: { 
       'Today': [moment(), moment()], 
       'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], 
       'Last 7 Days': [moment().subtract(6, 'days'), moment()], 
       'Last 30 Days': [moment().subtract(29, 'days'), moment()], 
       'This Month': [moment().startOf('month'), moment().endOf('month')], 
       'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] 
      } 
     }, cb3); 

$('#reportrange4').daterangepicker({ 
      startDate: startnew2, 
      endDate: endnew2, 
      ranges: { 
       'Today': [moment(), moment()], 
       'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], 
       'Last 7 Days': [moment().subtract(6, 'days'), moment()], 
       'Last 30 Days': [moment().subtract(29, 'days'), moment()], 
       'This Month': [moment().startOf('month'), moment().endOf('month')], 
       'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] 
      } 
     }, cb4); 

cb3(startnew, endnew); 
cb4(startnew2, endnew2); 
관련 문제