2016-11-16 136 views
2

首先,我只想说我刚刚开始使用Angular,所以这对我来说真的很新鲜。我甚至不知道我的设置是否以正确的方式完成。datetimepicker - 将日期值传递给角度控制器

我想要做的是在日期值选择后将日期值传回我的角度控制器,以便我可以处理它。

我遇到的问题是,当我选择日期(我可以清楚地看到我通过弹出警告显示on.change)我不能通过任何ng模型属性输入标签或在将日期值存储在变量中后用ng-click。

我希望日期作为字符串或类似的东西在Angular Controller中传递给$scope.chosenDate = '';

我使用:的DateTimePicker自举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)你正在做的错误的方式。选择支持的日期选择器

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

2)角的js支持双向绑定任何角度JS。请阅读有关双向装订的更多信息。然后你是一个好的开始变量角度JS

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

+0

是的,你似乎正在使用基于jQuery的东西。我之前在Ankit的回答中使用了1)一个成功的例子。 否则,由于您已经使用bootstrap,我可以建议使用ui-bootstrap,它是所有bootstrap控件的角化版本吗?最有可能对你有益: https://angular-ui.github.io/bootstrap/ –

+0

我会仔细看看它,是否有可能获得与该datepicker的时间?我想我错过了文档中的那个部分? – John

0

您可以通过增加模型变量访问数据。

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

在你的控制器中,你可以通过$ scope.data.date来访问它。

+0

尝试了这一点,当我定义范围console.log给我未定义使用双向绑定。任何想法,如果我做错了什么? – John

+0

你的意思是$ scope是未定义的?你可以把这个控制器代码? –

+0

所以我有这样的输入标签设置: 而范围设置像这样: $ scope。 data = {date:''}; console.log($ scope.data。selectedDate); 当我检查控制台时,控制台给我未定义。 – John

相关问题