我试图通过将默认值设置为选择框来过滤我在加载页面时的数组值,但它不起作用[更改选择框时它会过滤]
<select name="location" class="locationFilter col-md-3 col-md-push-9 col-xs-
12" ng-model="location.location_id">
<option value="">--Select location--</option>
<option ng-repeat="item in locationsArray" value="{{item.location_id}}"
ng-selected= "item.location_id == defaultLocation">{{item.location_name}}
</option>
</select>
选择框的<div class="col-md-3 itemList" ng-repeat="item in productArray |
filter:location">{{item.product_name}}</div>
$scope.defaultLocation=3;
在控制器中,我定义了位置选择的默认值,如下所示
string str4=br4.readLine
任何帮助都将受到高度赞赏
答案 0 :(得分:1)
使用ng-value,而不是您选项中的值:
它主要用于输入[radio]和选项元素,以便在何时使用 选择元素,该元素的ngModel(或其选择 parent元素)设置为绑定值
使用值不会使用ngModel的值更新所选项目,但ng-value会更新它。
<select name="location" class="locationFilter col-md-3 col-md-push-9 col-xs-
12" ng-model="location.location_id">
<option value="">--Select location--</option>
<option ng-repeat="item in locationsArray" ng-value="item.location_id">{{item.location_name}}
</option>
</select>
并且,由于您使用location.location_id
作为ng-model,因此您无需为初始化($scope.defaultLocation
)设置另一个变量,只需将其初始化:
$scope.location = {location_id: 3};
你不需要ng-selected
因为ng-model&amp; ng-value为所选项目执行工作。
这是一个向您展示如何:http://plnkr.co/edit/6AXSA8j06gX5yju9a71y?p=preview
的工作人员