2015-01-22 2 views
0

Итак, у меня есть список задач. Каждая задача имеет запланированную дату начала и запланированную дату окончания (планируетсяStartDate/планируетсяEndDate). Я использую ng-repeat для создания таблицы. Мне нужен простой якорь, который по щелчку запускающего DatePicker И:Угловая директива data-bs-datepicker + по изменению даты

  • имеет дату начала установить на plannedStartDate задачи (она никогда не нулевая)
  • связан с plannedEndDate задачи, а in, всякий раз, когда значение выбрано, мне нужно как-то поймать это событие, чтобы я мог обновить значение DB (запланированноеEndDate) задачи.
  • Я должен показать дату в формате: дд/мм/гггг

НО:

  • как plannedStartDate и plannedEndDate имеют следующий формат: 2015-01-01T00: 00: 00.000

В настоящее время мой DatePicker выглядит следующим образом:

  <a href="#" data-bs-datepicker 
       data-date-startDate="task.plannedStartDate" data-ng-model="task.plannedEndDate" 
       data-date-format="dd/mm/yyyy" 
       data-date-type="string"> 
       {{task | dateIndication}} 
      </a> 

Я пробовал с и без формата даты и даты, но, похоже, мне это не помогает. Кроме того, дата начала автоматически устанавливается на СЕГОДНЯ, если я использую это, даже если запланированная задачаStartDate не сегодня. (Я предполагаю, что это вопрос дата форматирования?)

Я попытался положить часы на массив задач:

$scope.$watch('tasks', function (newVal) { /*...*/ }, true); 

(и еще несколько изменений, как с помощью коллекции часов и т.д.), но ничего !

Изменения просто не пойманы.

(кроме того, dateIndication фильтр выглядит следующим образом:

.filter('dateIndication', function() { 
     return function (task) { 
      if (task.plannedEndDate) { 
       var plannedEndDate = moment(task.plannedEndDate); 
       return plannedEndDate.format('L'); 
      } else { 
       return messages.dashboard.todosAndTasks.noDueDate(); 
      } 
     } 
    }) 

Я бы очень нужна помощь Спасибо

+0

У вас есть tr используя чистый объект JS Date в модели task.plannedEndDate? –

+0

Мне удалось поймать событие изменения на .plannedEndDate, но не так, как я хотел. Я улавливаю событие изменения во всей коллекции и должен перебирать ее, чтобы увидеть, что именно изменилось. Но теперь проблема с запланированнымStartDate как «низким лимитом» для выбора даты остается – Alexandr

ответ

0
var change; 

change = function(date) { 
      var r; 
      r = date.match(/^\s*([0-9]+)\s*-\s*([0-9]+)\s*-\s*([0-9]+)(.*)$/); 
      return r[2] + "-" + r[3] + "-" + r[1] + r[4]; 
}; 

использовать эту функцию и передать дату, когда функция называют.! вернет идеальный формат для datepicker, и он покажет отлично, и еще одна вещь вам нужно разделить дату перед передачей даты, тогда она отлично работает и проверяет ее, и скажите мне, что отличает

+0

Нет, это не сработает. Я попытался добавить ваш код в форматтер/фильтр, но все равно ничего – Alexandr

+0

создать образец на jsfiddle и отправить ссылку, позвольте мне проверить – Ahmer

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