如何使用angular.element(’#id’)获取输入元素的值
当我试图使用angular.element获取input元素的值时,它返回undefined。 这是我的代码:
$scope.registerUser = function() { console.log(angular.element('#username').value); // undefined console.log(document.getElementById('username').value); // sampleName };
如何使用angular.element获取值
说明
你应该使用类似于jQuery的$.fn.val
val
方法:
console.log(angular.element('#username').val());
或者,您可以使用纯HTMLInputELement的value
属性:
console.log(angular.element('#username')[0].value);
…因为angular.element
实例是一个类似于数组的HTMLElements集合,其索引可以访问每个元素。
正确的做法
但是……你永远不应该在Angular应用程序的上下文中读取这样的输入值。 相反,使用ngModel指令并直接将输入值绑定到角度模型:
$scope.registerUser = function() { console.log($scope.username); };
你在HTML中的位置
这对我有用
angular.element(document.getElementById('username')).val();
与jQuery中的方法相同, angular.element
是一个包装器/子包:
angular.element('#username').val();
除上述方式外,还可以使用以下方法:
angular.element('[id="username"]').val(); angular.element('[id="username"]')[0].value;