2014-09-30 83 views
0

我有一个新手AngularJS问题 - 我使用datetimepicker库,我很难得到选定的日期绑定到我的模型...我看到一些帖子说话关于不能直接访问datetimepicker模型,但在我的情况下,我发现如果我只是在我的日期输入框中手动输入一个文本值,它会绑定!如果我选择与选择器的日期,我得到了可怕的 '未定义':(...帮助AngularJS绑定datatimepicker选择值ng模型

HTML标记:

<div class="col-md-2"> 
    <div name="fromDateTime" class="input-group date" id="datetimepickerFrom"> 
    <input class="form-control" type="text" name="fromDateTime" ng-model="formEntries.fromDateTime"/> 
     <span class="input-group-addon" data-ng-click="pickFromDateTime()"><span class="glyphicon glyphicon-calendar" id="calIconFrom"></span></span> 
    </div> 
</div> 

<div class="col-md-2"> 
    <div name="toDateTime" class="input-group date" id="datetimepickerTo">   
    <input class="form-control" type="text" name="toDateTime" ng-model="formEntries.toDateTime"/> 
     <span class="input-group-addon" data-ng-click="pickToDateTime()"><span class="glyphicon glyphicon-calendar"></span></span> 
</div> 
</div> 

控制器:

$scope.pickFromDateTime = function() { 
    $("#datetimepickerFrom").datetimepicker(); 
    $("#datetimepickerFrom").datetimepicker().change(function() {  
     $(this).data("DateTimePicker").hide(); 
     console.log($(this).data("DateTimePicker").getDate()); 
    }); 
} 


$scope.pickToDateTime = function() { 
    $("#datetimepickerTo").datetimepicker(); 
    $("#datetimepickerTo").datetimepicker().change(function() { 
     $(this).data("DateTimePicker").hide(); 
     console.log($(this).data("DateTimePicker").getDate()); 
    }); 
} 

$scope.getData = function() { 
    console.log($scope.formEntries.fromDateTime); 
    console.log($scope.formEntries.toDateTime); 

}

+0

想要正确地学习AngularJS吗?首先做一两个没有包含jQuery或其他DOM操作库的项目。 – 2014-09-30 21:48:24

+0

我开始没有jQuery这个,我只是不知道如何做一个没有它的dattimepicker ...请让我知道,如果你这样做。 – dhalia 2014-09-30 21:54:00

回答

1

永远不会在你的控制器中编写DOM或jQuery代码,它永远不会正常工作,你必须创建一个指令来做到这一点,该指令将监听你正在使用的任何库中的事件并更新你的模式湖Here is an example of a directive that happens to work with the datepicker。这应该让你走上正轨。

+0

太好了,谢谢...我会试试这个! – dhalia 2014-09-30 21:54:40