2014-11-08 3 views
0

У меня есть два TextBoxes, в которых я получаю 2 даты и получаю массив дат между этими двумя. У меня есть кодДата переменная не имеет метода addDays

$(".txtto").change(function() { 
       var dates = new Array(); 
       var dateto = new Date(); 
       var datefrom = new Date(); 
       dateto.format("dd/mm/yyyy"); 
       datefrom.format("dd/mm/yyyy"); 
       dateto = $(this).val(); 
       datefrom = $(".datefrom").val(); 
       while (datefrom <= dateto) { 
        dates.push(new Date(datefrom)); 
        datefrom = datefrom.addDays(1); 
       } 
      }); 

Но это дает ошибку Uncaught TypeError: Object 18/11/2014 has no method 'addDays'

18/11/2014 является дата ввода.

Edit 1:

Тем временем я попробовал этот

$(".txtto").change(function() { 
       var dates = new Array(); 
       var dateto = new Date(); 
       var datefrom = new Date(); 
       dateto.setDate($(this).val()); 
       dateto.format("dd/mm/yyyy"); 
       console.log(dateto); 
       datefrom.setDate($(".datefrom").val()); 
       while (datefrom <= dateto) { 
        dates.push(new Date(datefrom)); 
        datefrom = datefrom.setDate(datefrom.getDate() + 1); 
       } 
      }); 

но console.log(dateto); выводит неверную дату :(

ответ

1

Я думаю, что нет никакого способа, как addDays() - вам нужно использовать setDate():

datefrom.setDate(now3.getDate() - 4); 

Использование dd/MM/yyyy

dateto.format("dd/MM/yyyy"); 

Просто изменить свой Loop, как это

while (datefrom <= dateto) { 

        dates.push(new Date(datefrom)); 
        datefrom = new Date(datefrom.setDate(datefrom.getDate() + 1)); 
       } 

JSFIDDLE

СМОТРИТЕ DOCS DATE documentation

+0

же вопрос 'Объект 13/11/2014 не имеет какого-либо метода«GetDate «Я думаю, у меня другая проблема. – Imad

+0

проверить эту стоимость es 'alert (datefrom)', 'alert (dateto)' может быть undefined ?? –

+0

Его правильная, может быть, js думает, что это строка .. – Imad

Смежные вопросы