Nie mogę wyświetlić datetime z zbieracza DateTime. To jest mój kod HTML:

<body ng-app="app" ng-controller="mtCtrl"> 
<div class="col-sm-6">
<label style="font-size:12px" for="" class="">Reporting Time</label>
<div class="input-group date form_datetime" data-date-format="HH:ii P" data-link-field="dtp_reporting_time">
<input ng-model="reportingtime" name="reportingtime" id="reportingtime" class="form-control" size="16" type="text">
<span class="input-group-addon"><span class="glyphicon glyphicon-time"></span></span>
</div>
<input type="hidden" id="dtp_reporting_time" /><br/>    
</div>

Time : {{reporting_time}}

<script>
var app = angular.module("app", []);
app.controller("mtCtrl", function ($scope) {
$('.form_datetime').datetimepicker({
    weekStart: 1,
    todayBtn:  1,
    autoclose: 1,
    todayHighlight: 1,
    startView: 2,
    forceParse: 0,
    showMeridian: 1,
onSelect: function(date){
    angular.element($('#reportingtime')).triggerHandler('input');   
}   
});
$scope.reporting_time = $scope.reportingtime
});
</body>

Jeśli wpisuję niektóre wartości w tym wejściu, pokazując to, że wartości, ale kiedy wybieram datę z wyboru datetime, nie pokazuje tej daty lub godziny.
Chcę pokazać czas w {{reporting_time}} ... proszę mi pomóc .. dzięki

0
Ramachandran A 26 czerwiec 2017, 14:02

3 odpowiedzi

Najlepsza odpowiedź

Ta funkcja powinna przejść, ponieważ moduł jest w jQuery, może pracować poza zasięgiem kątowym, może nie otrzymać wartości w kontrolerze, więc musisz ręcznie ustawić go z pomocą jQuery

$('.form_datetime')
.datetimepicker()
.on('changeDate', function(ev){
    $scope.reporting_time = ev.date.valueOf();
    console.log($scope.reporting_time);
});

Również typ wejścia typu działa idealnie dla mnie w tym stykurze

https://plnkr.co/edit/lhf4pbssqofocctc0q5g5?p=preview.

1
Parth Acharya 26 czerwiec 2017, 12:16
function(date){
    $scope.date = date;
    $scope.formatteddate = ...//format your date as string here
    $scope.$apply();  
}   

I wiążąc swój Ngmodel do sformatowanej daty.

Dlaczego $ złożyć wniosek ()? Ponieważ zegarek kątowy i reaguje tylko na wydarzenia, które zarządza, a więc odświeży wiązane wartości, ponieważ datepicker nie jest zarządzany przez kątową wartość wejściową nie zostanie zsynoważona. Musisz mu powiedzieć, że coś się zmieniło i musi zrobić swoje rzeczy, co jest celem $ Zastosuj.

0
Walfrat 26 czerwiec 2017, 11:56

Musisz zainicjować dane wejściowe datetime jako pikera datetime. Sugerowałbym to zastąpić

$('.form_datetime').datetimepicker({
    weekStart: 1,
    todayBtn:  1,
    autoclose: 1,
    todayHighlight: 1,
    startView: 2,
    forceParse: 0,
    showMeridian: 1,
    onSelect: function(date){
        angular.element($('#reportingtime')).triggerHandler('input');   
     }   
});

Z

$('#reportingtime').datetimepicker({
    weekStart: 1,
    todayBtn:  1,
    autoclose: 1,
    todayHighlight: 1,
    startView: 2,
    forceParse: 0,
    showMeridian: 1,
    onSelect: function(date){
        angular.element($('#reportingtime')).triggerHandler('input');   
     }   
});
0
Ankit Agarwal 26 czerwiec 2017, 11:41