0

나는 형식으로 날짜를 얻을부트 스트랩 날짜 선택기의 multidates의 getDates

.datepicker("getDates") 

내가 사용

에 multidates 옵션 bootstzrap의 날짜 선택기를 사용하고 결과 "2014-10-13T22 : 00.000Z : 00" 나는 형식을 사용 DD.MM.YYYY

내가 날짜를 삽입하는 데 사용하는 funciton이

거기 때문에 오류가 때, 페이지를 다시로드에서 동일한 multidatepicker에이 값을 삽입하려고 nbworkersDates은 [I] [0] 요소

의 배열입니다

나는 점점 오전 오류가 모든 날짜가 문제를 해결하는 방법을 오늘 제안으로 설정되어 있다는 점이다? 이는 JSON 데이터

for (var i in nbworkersDates) { 
    var innerdata = (nbworkersDates[i]); 
    $('.workerDatesrow').each(function(i,r){ 
     //console.log(nbworkersDates[i][0]); 
     //$('.nbworkersDate',r).val(nbworkersDates[i][0]), 
     $('.nbworkersDate',r).datepicker({ 
      multidate: true, 
      format: 'dd.mm.yyyy', 
      multidateSeparator: ',' 
         }).datepicker('setUTCDates', nbworkersDates[i][0].map(function(x) { 
          console.log('datum '+ x); 
          return new Date(x.substr(0, 10)); 
    })); 
     $('.nbworkersDate', r).datepicker("setDates",nbworkersDates[i][0]), 
     $('.nbworkersnumber',r).val(nbworkersDates[i][1]), 
     $('.nbworkersfrom',r).val(nbworkersDates[i][2]), 
     $('.nbworkersto',r).val(nbworkersDates[i][3]); 
     }); 

및 데이터 행을 채우기 위해 내 모든 코드 당신

감사

"nbworkersDates":[[["2014-10-13T22:00:00.000Z","2014-10-14T22:00:00.000Z","2014-10-15T22:00:00.000Z"],"","",""],[["2014-10-13T22:00:00.000Z","2014-10-20T22:00:00.000Z","2014-10-27T23:00:00.000Z"],"","",""]] 
+0

문자열 배열을 삽입 하시겠습니까? – dizel3d

+0

예, setDates가 배열 – Yebach

+0

을 사용할 수 있으므로 질문에 대한 답변을 작성했습니다. 그것은 당신에게 도움이됩니까? – dizel3d

답변

2

문제는 bootstrap-datepicker 내부 방법 parseDate 구문 분석 할 수 있다는 것입니다 귀하의 날짜 문자열. 1541 라인을보십시오. parts.length === fparts.length 조건은 문자열에 만족하지 않습니다. 예를 들어 '2014-10-14T00:00:00.000Z'format = 'yyyy-mm-ddT00:00:00.000Z'fparts = ['yyyy', 'mm', 'dd']에 스플릿 될 때 parts = ['2014', '10', '14T00', '00', '00', '000Z']으로 스플릿 될 것입니다. 그러면 조건은 6 === 3이고 parseDate은 현재 날짜 만 반환합니다.

Date 개체를 'setDates' (대신 'setUTCDates'을 사용하십시오) 앞에 작성하면 시간 부분은 0이어야합니다. (example)

$('#date').datepicker({ 
    multidate: true, 
    format: 'yyyy-mm-ddT22:12:34.000Z', 
    multidateSeparator: ', ' 
}).datepicker('setUTCDates', [ 
    '2014-10-14T22:00:00.000Z', 
    '2014-10-15T22:14:00.000Z', 
    '2014-10-16T22:20:00.798Z' 
].map(function(x) { 
    return new Date(x.substr(0, 10)); 
})); 
+0

해결책에 대한 내 버그와 고맙습니다 발견 – Yebach

관련 문제