Получить значение из входного элемента HTML из контроллера Angularjs
Я пытаюсь получить значение из элемента HTML из контроллера Angular.
<div ng-app="myApp" ng-controller="myControler">
<br />
<input id="Text1" type="text" runat="server" value="aValue" /
Мой контроллер:
var myApp = angular.module('myApp', []);
myApp.controller("myControler", function ($scope, $document) {
var name = angular.element($('#Text1')).val();
console.log(name);
});
Но имя возвращает "undefined"...
Пожалуйста, что я делаю неправильно?
Ответы
Ответ 1
angular.element
является псевдонимом для jquery $
.
Вы можете получить доступ к этому элементу следующим образом: angular.element('#Text1').val();
ng-model
- это способ angular. Вы можете установить значение из ASP с помощью ng-init
<input id="Text1" type="text" runat="server" ng-model="inputVal" ng-init="inputVal='aVal'">
И это можно получить из контроллера с помощью области console.log($scope.inputVal);
Пример JSfiddle: http://jsfiddle.net/n1oppeu2/
Ответ 2
Зачем вам нужен элемент angular для доступа к элементу формы?
Вы можете получить и установить значение, привязав к нему модель
как это
<input id="Text1" type="text" runat="server" ng-model="input.field1" />
контроллер
$scope.input={
field1:''
}
Ответ 3
Использование селектора элементов angular #
<input id="Text1" type="text" runat="server" value="aValue" />
console.log(angular.element('#Text1').val());
или
console.log(angular.element('#Text1')[0].value);