我想用jquery插件timepicker做一个自定义指令。我没有得到控制台的输入值,它说未定义
这是一个活塞
<table class="table table-bordered">
<thead>
<tr>
<th>Time From</th>
<th>Time To</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="text" ng-model="row1" size=6/ disabled>
</td>
<td>
<input type="text" ng-model="dup_row1 " size=6 timepicki/>
{{dup_row1}}
</td>
</tr>
</tbody>
</table>
var app = angular.module('myApp', []);
app.directive('timepicki', [
function() {
var link;
link = function(scope, element, attr, ngModel) {
element.timepicki();
};
return {
restrict: 'A',
link: link,
require: 'ngModel'
};
}
])
app.controller('ctrl', function($scope) {
$scope.row1 = "00:00"
$scope.submit=function(){
console.log($scope.dup_row1)
}
});
您发布的代码与您的plunker中的代码不一样。
AngularJS开发者指南说;
使用控制器:
- 设置
$scope
对象的初始状态
在上面的示例中,您在提交时记录$scope.dup_row1
的值,但控制器从未设置该值,因此它是未定义的。
下面的命令将打印"hello"到控制台;
app.controller('ctrl', function($scope) {
$scope.row1 = "00:00"
$scope.dup_row1 = "hello"
$scope.submit=function(){
console.log($scope.dup_row1)
}
});