我想在视图上绑定Date类型的输入 使用Angularjs到模型中的毫秒属性。
例如:
用户设置" 09/23/2014"进入该领域
和angularjs自动设置" 1411423200000"
进入与输入的模型属性绑定。
我没有找到任何指令或过滤器来做到这一点。
感谢您的帮助。
更新以详述我的问题。
是否有"原生"在Angularjs拦截的方式 模型,以查看和查看模型和转换我的数据?
答案 0 :(得分:2)
您可以使用ng-change https://docs.angularjs.org/api/ng/directive/ngChange
$scope.onDateChange = function() {
if (this.node.mydate) {
this.node.mydate = this.node.mydate.getTime();
}
};
在视图中
<input type="text" ng-model="node.mydate" id="adate" name="adate" datepicker-popup="dd MMM yyyy HH:mm" ng-change="onDateChange()"/>
答案 1 :(得分:1)
我找到了一个解决方案:
ngModel.$parsers.push(fromUser);
ngModel.$formatters.push(toUser);
有了这个,我在绑定期间动态更改数据格式。
请参阅jsfiddle
中的完整解决方案答案 2 :(得分:1)
你可以简单地使用它,它对我有用:
$scope.dateValue = new Date(dateInMilliSeconds);
它将以MM/DD/YYYY
格式直接将您的日期(以毫秒为单位)转换为日期,这是以下格式的默认格式:
<input id="myDateID" name="myDateName" date-parser="MM/DD/YYYY" ng-model="dateValue" type="date" class="form-control input-md" aria-describedby="sizing-addon3"/>
答案 3 :(得分:0)
你可以使用js Date.parse(),请看这里:http://jsbin.com/doyise/1/edit
JS:
var app = angular.module('app', []);
app.controller('firstCtrl', function($scope){
$scope.date = "";
$scope.$watch("date", function(value)
{
if(value)
{
$scope.mils = Date.parse($scope.date);
}
});
});
HTML:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.min.js"></script>
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body ng-app="app">
<div ng-controller="firstCtrl">
<input ng-model="date" type="date"/>
<p> Date in : {{date}}</p>
<p> Date in ms: {{mils}}</p>
</div>
</body>
</html>
答案 4 :(得分:0)
基本上来自@asicfr的解决方案,但更具表现力:
$zone = $result1->Sites;
if(isset($_POST['rayat'])){
echo 'ID: ' . $zone[0]->id . '<br>SiteID: ' . $zone[0]->siteid;
} else {
...
答案 5 :(得分:0)
你的JSFiddle似乎已经失去了它的双向绑定。我没有对问题进行审核,而是将其分解为更简单的整体解决方案。
这是它的核心:
.directive('toDate', function() {
return {
restrict: 'A',
require: 'ngModel',
scope: true,
link: function(scope, el, attrs, ngModel) {
ngModel.$formatters.push(function(value) { //show the user the date
return new Date(value);
});
ngModel.$parsers.push(function(value){
return +new Date(value); //convert back to milliseconds
});
}
};
})
首先,棱角1.4处理得更好。其次,在新的小提琴中注意输入类型处理格式。最后,示例中的所有3个输入都以角度绑定到相同的数据点,允许您分别更新日期和时间。 “文本”类型对你没什么用处,我把它留在那里仅供显示。