向我显示第一个元素位置空白时,我都不会在选择框中获得值。我不知道为什么有人能告诉我如何克服这个问题。
我正在附加问题我面临的问题,请在图像中查看并发送我的 HTML。
https://i.stack.imgur.com/jh3tH.png
https://i.stack.imgur.com/XWt21.png
目录
<div class="form-group">
<label class="col-lg-3 form-label">Brand:</label>
<div class="col-lg-5">
<select ng-show="categoryShow" class="form-control" ng-model="item.brand_id" >
<option value="{{brand._id}}">{{brand.name}}</option>
<option ng-repeat="brand in brands" value="{{brand._id}}">{{brand.name}}</option>
</select>
</div>
<div class="col-lg-4">
<a ng-click='openBrandModel()'>
<i class="icon-plus-sign"></i>
Add Brand
</a>
</div>
</div>
数据完美地绑定了一切好,只是默认情况下不显示我使用的那个值 ng-repeat 指令。
在图像中,您可以看到aslam名称,因此我希望通过defuat显示并保留为列表。
Js 用于设置品牌和品牌
itemService.getCategoryAndBrand.TypeGetCategoryAndBrand({}, $cookies.token, function(response){
if(response.brands){
var catchBrands = [];
for(var i = 0; i < response.brands.length; i++){
if(response.brands[i]._id == catchSelectedBrand){
$scope.brand = response.brands[i];
}else{
catchBrands.push(response.brands[i]);
}
}
$rootScope.brands = catchBrands;
}
if(response.categories){
var catchCategories = [];
for(var i = 0; i < response.categories.length; i++){
if(response.categories[i]._id == catchSelectedCategory){
$scope.category = response.categories[i];
}else{
catchCategories.push(response.categories[i]);
}
}
$rootScope.categories = catchCategories;
}
});
我认为你不需要HTML中的第一个选项。
<option value="{{brand._id}}">{{brand.name}}</option>
您的所有选项看起来都来自下面的行,带有ng-repeat
,此时似乎没有brand
范围变量,因此我希望看到一个带有空白值和名称的选项。
如果您删除第一行,那么我希望看到空白选项消失,尽管我没有尝试过也不知道有关角度或您的浏览器默认在此处放置空白选项的任何逻辑......
编辑
实际上看到这个答案,看起来很有可能你只需要确保item.brand_id
设置为现有选项的_id
。