繁体   English   中英

ng-selected不起作用

[英]ng-selected not working

我的问题是ng-selected设置为true但选项未被选中

这是我的控制器代码

.controller("PendingInvoiceCtrl", function($scope, $location, safeApply, dataService) {
    var userData = dataService.data();
    var mauth_token = userData.mauthToken;
    var mauth_acntId = userData.thisApartment.account;
    var apt_id = userData.thisApartment.id;

    $scope.house_list = userData.thisApartment.house;
    $scope.selectedHouseId = $location.search().houseId;

    console.log($scope.selectedHouseId);
});

这是我的HTML代码

 <select ng-model="selectedHouseId">
      <option ng-repeat="house in house_list" ng-selected="{{ house.house_id == selectedHouseId }}" value="{{ house.house_id }}">
           {{ house.house_display_name }}
      </option>
 </select>

以下是我的数据格式

 {
      house:[0]:{
           house_display_name: "paras, 101",
           house_id: "520755"
      }
 }

ng-属性不需要额外的花括号。 尝试:

<option ng-repeat="house in house_list" ng-selected="house.house_id == selectedHouseId" ng-value="house.house_id">
    {{house.house_display_name}}
</option>

更好的方法是使用select标签的ng-options可能性。 这将导致:

<select
    ng-model="selectedHouseId"
    ng-options="house.house_id as house.house_display_name for house in house_list">
</select>

然后您不需要手动担心选项的selected属性,因为它将根据模型的值选择一个。

您的选项标记应为:

<option ng-repeat="house in house_list" ng-selected="house.house_id == selectedHouseId" ng-value="house.house_id">

我建议您使用Angular Directive ng-options。

<select ng-options="house.house_id as house.house_display_name for house in house_list" ng-model="selectedHouseId"></select>

相关的plunker: http ://plnkr.co/8LGz5o0d2gDRoRHYr4pQ

如果您使用ng-Selected和ng-Model,则从未真正指定过。 看起来在某些时候ng-Model优先于ng-Selected。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM