当我试图在角度控制器中获取当前元素值时,它将错误抛出为
Cannot read property 'toLowerCase' of undefined
at m.fn.extend.val (jquery.min.js:4:8638)
at h.promise.then.$scope.validatev (product.js:471:43)
var productApp = angular.module(' productApp',[' ngRoute',' ngProgress']);
的Javascript
productApp.controller('AddOrderController',
function($scope,$http) {
$scope.validatev = function (dis,v)
{
console.log(angular.element(dis).val()); //this line throwing error as above mentioned
}
});
HTML
<input type="text" ng-blur="validatev(this,'req:true');" class="form-control"/>
我无法通过ng-model / name属性获取值,因为这些是我的代码中的动态元素,因此我尝试通过此关键字获取该元素值。请帮我在控制器中获取 this 值
答案 0 :(得分:1)
为什么不在输入中使用ng-model?
<input type="text" ng-model="modelRef.thingToValidate" ng-blur="validatev(modelRef);" class="form-control"/>
然后在你的JS中你有一个对输入值的引用..
$scope.validatev = function (modelRef)
{
console.log(modelRef.thingToValidate);
};
注意我没有对此进行过测试,但它只是演示了ng-model的使用情况..
答案 1 :(得分:0)
您可以使用$event对象:
<强>的Javascript 强>
productApp.controller('AddOrderController',
function($scope) {
$scope.validatev = function (event, v) {
console.log(event.currentTarget, v);
}
});
<强> HTML 强>
<input type="text" ng-blur="validatev($event,'req:true');" class="form-control"/>