2016-11-16 3 views
2

Прежде всего, я просто хочу сказать, что я только что начал с Angular, поэтому все это для меня очень ново. Я даже не знаю, сделано ли то, что я настраиваю, в правильном направлении.datetimepicker - Значение даты передачи для углового контроллера

Что я пытаюсь сделать, это передать значение даты после того, как я выбрал его в datetimepicker обратно на мой угловой контроллер, чтобы я мог его обработать.

проблема заключается в том, что, когда я выбираю дату (я могу ясно видеть, что я выбрал, после появления предупреждения, отображающего ее on.change), я не могу передать значение через атрибут ng-model в входной тег или ng-click после сохранения значения даты в переменной.

Я хочу, чтобы дата была передана в $scope.chosenDate = ''; в виде строки или чего-то подобного в Угловом контроллере.

Я использую: DateTimePicker Bootstrap 3 - минимальная версия установки: DateTimePicker Bootstrap 3

Вот DateTimePicker:

<div class="col-lg-12 col-md-6"> 
 
      <lable class="lfInputLable">From</lable> 
 
      <div class="form-group" style="margin-bottom: 5px !important;"> 
 
       <div class='input-group date' id='datetimepicker1'> 
 
        <input type='text' class="form-control" /> 
 
        <span class="input-group-addon"> 
 
         <span class="glyphicon glyphicon-calendar"></span> 
 
        </span> 
 
       </div> 
 
      </div> 
 
     </div> 
 
     <script type="text/javascript"> 
 
      var dateToPass; 
 
      $(document).ready(function dateFunction() { 
 
       $('#datetimepicker1').datetimepicker({ 
 
        format: 'YYYY-MM-DD hh:mm' 
 
       }); 
 
       $('#datetimepicker1').on("dp.change", function() { 
 
        var selectedDate1 = $("#datetimepicker1").data('date').toString(); 
 
        var dateToPass = selectedDate1.toString(); 
 
        alert("Date is set to: " + selectedDate1); 
 
        alert("The Date To Pass: " + dateToPass) 
 
       }); 
 
      });    
 
     </script>

ответ

1

1) Вы делаете неправильный путь. Выберите любые угловых JS поддерживаемых выбор даты

https://github.com/720kb/angular-datepicker

2) Угловой поддержку JS два способом связывания. пожалуйста, прочитайте больше о двухсторонней привязке. и тогда вы хорошо начать с переменными в угловых JS

http://www.w3schools.com/angular/angular_databinding.asp

+0

Да, вы, кажется, используете вещи на основе jQuery. Я использовал 1) один в ответе Анкита ранее с успехом. В противном случае, поскольку вы уже используете бутстрап, могу ли я предложить использовать ui-bootstrap, которая является ангулярной версией всех элементов управления начальной загрузкой? Скорее всего, это будет полезно для вас: https://angular-ui.github.io/bootstrap/ –

+0

Я обязательно рассмотрю его, возможно ли получить время с этим дампикером? Думаю, я пропустил эту часть документации? – John

0

Вы можете получить доступ к данным путем добавления переменной модели.

<input type='text' class="form-control" ng-model="data.date" /> 

В вашем контроллере вы можете получить к нему доступ через $ scope.data.date.

+0

Пробовал это, когда я определяю область действия console.log, дает мне undefined с использованием двухсторонней привязки. любая идея, если я что-то сделаю неправильно? – John

+0

Вы имеете в виду $ scope undefined? можете ли вы поместить этот код контроллера? –

+0

Итак, у меня есть установка тегов ввода следующим образом: И настройка области как это: $ scope. data = {date: ''}; console.log ($ scope.data.SelectedDate); , и когда я проверяю консоль, консоль дает мне неопределенное. – John

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