Angularjs ng选项中的首次更改显示为空始终为空

Angularjs ng选项中的首次更改显示为空始终为空,angularjs,angularjs-ng-options,Angularjs,Angularjs Ng Options,当我从“选择”列表中更改值时,第一次更改显示始终为空,第二次更改后,显示为空 我尝试使用以下代码: <select name="app_category_id" ng-model="campaign.app_category" ng-options="app_category.id as app_category.name group by app_category.app_category_pool[0].name for app_category in app_category_lis

当我从“选择”列表中更改值时,第一次更改显示始终为空,第二次更改后,显示为空

我尝试使用以下代码:

<select name="app_category_id" ng-model="campaign.app_category" ng-options="app_category.id as app_category.name group by app_category.app_category_pool[0].name for app_category in app_category_list | orderBy:['app_category_pool[0].name', 'name'] track by app_category.id" required>
</select>
第一次更改后(从列表中选择另一项):

第二次更改后(从列表中选择另一项):

我想按类别使用id和组

当我加载我的页面时,我的campaign.app_类别拥有一个值,在我选择另一个项目并且显示为空白后:

$scope.campaign = {
    app_category: {
        "id": 31,
        "code": "RED",
        "name": "Red",
        "app_category_pool": [{
            "id": 1,
            "code": "CATEGORY_1",
            "name": "Category 1"
        }]
    }
}
我使用角度1.5.8

解决


好的,现在它开始工作了:

  <select name="app_category_id"
          ng-init="campaign.app_category = app_category_list[1]"
          ng-model="campaign.app_category" 
          ng-options="app_category as app_category.name group by app_category.app_category_pool[0].name for app_category in app_category_list | orderBy:['app_category_pool[0].name', 'name'] track by app_category.id"
          required>
  </select>


如果需要将另一项设置为默认项,只需更改数组中的ng init编号。我选择了app_category_list[1]来向您显示它也适用于Blue默认设置。

好的,所以它在这里工作:

  <select name="app_category_id"
          ng-init="campaign.app_category = app_category_list[1]"
          ng-model="campaign.app_category" 
          ng-options="app_category as app_category.name group by app_category.app_category_pool[0].name for app_category in app_category_list | orderBy:['app_category_pool[0].name', 'name'] track by app_category.id"
          required>
  </select>


如果需要将另一项设置为默认项,只需更改数组中的ng init编号。我选择了app_category_list[1]来向您显示它也适用于Blue作为默认值。

只需按如下方式设置HTML:

ng-options="app_category as...

删除
.id
并仅允许对象。

只需按如下方式设置HTML:

ng-options="app_category as...

删除
.id
并仅允许对象。

无法复制:带有angular 1.5.8的事件,这工作正常。。希望这能解决你的问题。我可以重现我的问题:你在用什么浏览器?版本号。它可以与最新版本的firefox、chrome和edgeCan't Reproduction配合使用:angular 1.5.8版本的事件,工作正常。。希望这能解决你的问题。我可以重现我的问题:你在用什么浏览器?版本号。它可以与最新版本的firefox、chrome和edgeThis配合使用。这是一种方式,但为什么要同时使用ng选项和?为模型设置一个值不是更好吗@Setily@EmptyCup当前位置我编辑了我的答案。您需要以某种方式设置默认选项。您可以使用示例或ng init来实现此目的。my campaign.app_类别已设置@Jérémiechazole:是的,您的ng模型已设置。您还需要为您的答案设置ng init=“campaign.app_category=”@setly Thx,但这不是问题所在,这是一种方法,但为什么要同时使用ng选项和?为模型设置一个值不是更好吗@Setily@EmptyCup当前位置我编辑了我的答案。您需要以某种方式设置默认选项。您可以使用示例或ng init来实现此目的。my campaign.app_类别已设置@Jérémiechazole:是的,您的ng模型已设置。您还需要为您的答案设置ng init=“campaign.app_category=”@setly Thx,但这不是问题所在