我需要删除此空白或设置默认值,因为当我将表单发布到API时,我没有数组中的所有元素,但我需要它,因为没有选择选择,它们不会传递给json。
在here我找到答案,但这是一个简单的例子。 我有更复杂的选择,我不知道如何重拍这个。 我的选择在表中,其中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');
}
}
);
}]);
答案 0 :(得分:0)
我做了第二件事 - 设置默认值,这对我来说更好,但空白仍然存在。 代码与我在开始时的代码相同。 我只是添加了选择此代码:
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>