#angularjs #angularjs-directive #angularjs-scope
#angularjs #angularjs-директива #angularjs-область
Вопрос:
Angularjs
<tr ng-repeat="advLi in media">
<td>
<input style="display:none;" type="text" style="width:35px;" class="form-control" name="mediaindex" value="{{$index 1}}" ng-model="advLi.media_order">
</td>
<td>{{advLi.media_name}}</td>
</tr>
когда я отправляю форму, в списке «media» не отображается media_order, отображается только media_name. Как я могу получить значение media_order в контроллере.
Комментарии:
1. У вас есть style=»display: none;» и style =»width: 35px;» в вашем элементе ввода
Ответ №1:
Если я правильно понял вашу проблему, вы хотите отобразить значение индекса элементов в виде порядкового номера в текстовом поле, и пользователь может изменить его позже, чтобы изменить порядок.
Затем я добавил ng-init="advLi.media_order = $index 1"
в ваш входной тег, чтобы при создании нового элемента DOM ng-repeat
мы вводили ng-model
значение с индексом 1, которое будет отображать порядковый номер в текстовом поле.Я также удалил стиль, который скрывает ваше текстовое поле.
var app = angular.module('app', []);
app.controller('MainCtrl', function($scope) {
$scope.media =[{media_name:"Still"},{media_name:"Gangsta"},{media_name:"Weed it out"}];
$scope.submit = function (){
angular.forEach($scope.media,function(val,key){
console.log(val.media_order ' - ' val.media_name);
});
};
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="app" ng-controller="MainCtrl">
<table>
<tr ng-repeat="advLi in media">
<td>
<input type="text" style="width:35px;" class="form-control" name="mediaindex" value="{{$index 1}}" ng-init="advLi.media_order = $index 1" ng-model="advLi.media_order">
</td>
<td>{{$index 1}} </td>
<td>{{advLi.media_name}}</td>
<td>{{advLi.media_order}}</td>
</tr>
</table>
<button ng-click="submit()">Submit </button>
</body>
Ответ №2:
Это может быть вызвано undefined
начальным значением ng-model
. Попробуйте поменять местами порядок атрибутов или установить правильный ng-model