我需要删除此空白或设置默认值,因为当我将表单发布到API时,我没有数组中的所有元素,但是我需要它,因为未选择selects,它们不会传递给json。
在这里,我找到了答案,但是,这是一个简单的示例。我的选择比较复杂,我不知道该如何重做。我的选择在表中,它的td是动态生成的,看起来像这样:
<tr ng-repeat="articleItem in articleColors">
<td><button class="btn btn-default"><i class="fa fa-plus"></i></button></td>
<td>{{ articleItem.nazwa_art }}</td>
<td>{{ articleItem.kolory_pod }}{{ articleItem.pantony }}</td>
<td ng-repeat="m in [] | rangeFilter:0:pyNumber">
<select id="articleColorsData" name="py{{$index+1}}" class="form-control" ng-model="articleColorsData.kolory[$index]">
<option value="x" selected>x</option>
<option ng-repeat="oneColor in articleItem.all_colors" ng-selected="" value="{{ oneColor }}">{{ oneColor }}</option>
</select>
</td>
</tr>
我正在尝试使用ng-option进行选择,但是它不起作用。我有错误的$ index是不确定的。我做了这样的事情:
<select id="articleColorsData" name="py{{$index+1}}"
ng-model="articleColorsData.kolory[$index]"
ng-options="oneColor.value as oneColor.name for oneColor in articleItem.all_colors"></select>
在cotroller中:
$scope.articleColorsData.kolory[$index] = $scope.articleItem.all_colors[0].value;
所有代码形式的控制器:
appPokayoke.controller('CreateArticleColorsCtr', ['$scope', '$http','$routeParams', 'articles', '$location', 'articlesOfDrawings', function ($scope, $http, $routeParams, articles, $location, articlesOfDrawings, rangeFilter ) {
var drawingId = $routeParams.drawingId;
var pyNumber = $routeParams.pyNumber;
var articleName = $routeParams.articleName;
$scope.pyNumber = $routeParams.pyNumber;
$scope.articleColors = {};
$scope.articleColorsData = {
"id_rys" : drawingId,
"ile_py" : pyNumber,
"nazwa_art" : articleName
};
$scope.articleColorsData.kolory[$index] = $scope.articleItem.all_colors[0].value;
articles.getNewArticle(
$routeParams.articleName,
$routeParams.drawingId,
function (data) {
if(data !== '') {
$scope.articleColors = data;
}
else {
console.log('not ok articleColors');
}
}
);
}]);
我做了第二件事-设置默认值,这对我来说是更好的方法,但是空白仍然存在。代码与我刚开始时一样。我只是添加选择以下代码:
ng-init="articleColorsData.kolory[$index] = 'x'"
我的完整代码:
<td ng-repeat="m in [] | rangeFilter:0:pyNumber">
<select id="articleColorsData" name="py{{$index+1}}" class="form-control" ng-model="articleColorsData.kolory[$index]" ng-init="articleColorsData.kolory[$index] = 'x'">
<option ng-repeat="oneColor in articleItem.all_colors" ng-value="x" value="{{ oneColor }}">{{ oneColor }}</option>
</select>
</td>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句