Я хочу получить значение из скрытого ввода угловыми js. но результат не undefined
. Мой код
var app = angular.module('newApp',[]);
app.controller('tableCtrl',function($scope){
$scope.save = function(marks){
alert(marks);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.1/angular.min.js"></script>
<body ng-app="newApp">
<div ng-controller="tableCtrl">
<input type="hidden" ng-model="marks" value="7">
<button ng-click="save(marks)">Show</button>
<br>
<input type="hidden" ng-model="marks" value="2">
<button ng-click="save(marks)">Show</button>
</div>
</body>
В чем проблема?
Поскольку вы используете скрытое поле, нет смысла связывать данные в двух направлениях. Поэтому ng-модель не поддерживается для скрытых полей.
Здесь ссылка github для дальнейшего чтения.
Ну... Ваше значение id не определено до тех пор, пока вы не определяете его либо непосредственно в области, либо асинхронно, введя значения во входное поле. ng-model в основном связывается с событиями keyup-events, прежде чем пытается определить переменную scope. До тех пор оба поля ввода читают значение из необъявленной переменной (undefined), а также сохраняет вашу функцию сохранения :)