Javascript 角度选择ng选择不工作(使用<;选项ng重复>;)

Javascript 角度选择ng选择不工作(使用<;选项ng重复>;),javascript,angularjs,angularjs-ng-repeat,angularjs-ng-model,Javascript,Angularjs,Angularjs Ng Repeat,Angularjs Ng Model,我花了一个小时,尝试了所有可能的属性排列,将select绑定到作为对象的模型,而ng selected什么也不做 <select ng-model="localModel.priceType"> <option ng-repeat="item in vm.priceTypes" ng-selected="localModel.priceType == item" ng-value="item"

我花了一个小时,尝试了所有可能的属性排列,将select绑定到作为对象的模型,而ng selected什么也不做

<select ng-model="localModel.priceType">
    <option 
            ng-repeat="item in vm.priceTypes"
            ng-selected="localModel.priceType == item"
            ng-value="item"
            >{{item.name}}</option>
</select>

{{item.name}


{{item.name}


{{item.name}
选择列表正确呈现,选项值看起来很时髦,即“object:875”。和选定的不起作用

我需要ng模型作为对象,而不是object.someId

通过使用ng选项而不是ng repat解决了此问题

<select ng-model="localModel.priceType" ng-options="item as item.namefor item in vm.priceTypes track by item.name"></select>

ngSelected
select
ngModel
指令,它仅在元素上设置
选定的
属性。如果你 如果正在选择上使用
ngModel
,则不应在选择上使用
ngSelected
选项,如
ngModel
将设置选择值和所选选项

试一试


{{item.name}
您可以从
vm.priceTypes[0]
ng值更改为所需的任何值

ngSelected
select
ngModel
指令,它仅在元素上设置
选定的
属性。如果你 如果正在选择上使用
ngModel
,则不应在选择上使用
ngSelected
选项,如
ngModel
将设置选择值和所选选项

试一试


{{item.name}
您可以从
vm.priceTypes[0]
ng值更改为所需的任何值

需要一个字符串作为值。要将ngRepeat与
标记一起使用,请使用
value=“{{item}}”
而不是ng值。展开下面的代码段以查看它是否正常工作

angular.module('myApp',[])
.controller('ctrl',函数($scope){
$scope.vm={
价格类型:[{
id:3,
姓名:'英镑'
},
{
id:5,
姓名:‘日元’
},
{
id:6,
姓名:“美元”
}
]
};
//选择模型值
$scope.localModel={
价格类型:$scope.vm.priceTypes[1]
};
})

{{item.name}
价格类型:{{localModel.priceType}
需要一个字符串作为值。要将ngRepeat与
标记一起使用,请使用
value=“{{item}}”
而不是ng值。展开下面的代码段以查看它是否正常工作

angular.module('myApp',[])
.controller('ctrl',函数($scope){
$scope.vm={
价格类型:[{
id:3,
姓名:'英镑'
},
{
id:5,
姓名:‘日元’
},
{
id:6,
姓名:“美元”
}
]
};
//选择模型值
$scope.localModel={
价格类型:$scope.vm.priceTypes[1]
};
})

{{item.name}
价格类型:{{localModel.priceType}

这是因为您应该将
ng options
ng model
一起使用,其中包含来自数组
vm的值。priceTypes[0]
使用ng options指令而不是带有重复的选项是解决方案。仍然不知道为什么后者不起作用,但我不会因为它而失眠,因为您应该将
ng options
ng model
一起使用,它包含来自数组
vm的值。priceTypes[0]
使用ng options指令而不是带有重复的选项是解决方案。我仍然不知道为什么后者不起作用,但我不会因为它而失眠谢谢,但这和我最初的例子是一样的。它使select工作,但不使selectedpropertythank运行,但这与我最初的示例所做的相同。它使select工作,但不使select属性工作。感谢您创建代码段!你知道为什么它似乎只适用于ng选项吗?我已经更新了解释-显然ngValue需要一个字符串,所以使用对象不会很好…谢谢你创建了一个代码段!你知道为什么它似乎只适用于ng选项吗?我已经更新了解释-显然ngValue需要一个字符串,所以使用对象不会很好。。。
<select ng-model="localModel.priceType">
    <option 
            ng-repeat="item in vm.priceTypes track by item.name"
            ng-selected="localModel.priceType.name == item.name"
            ng-value="item"
            >{{item.name}}</option>
</select>
<select ng-model="localModel.priceType" ng-options="item as item.namefor item in vm.priceTypes track by item.name"></select>
<select ng-model="localModel.priceType">
  <option  ng-repeat="item in vm.priceTypes track by item.name"
           ng-value="item.name">
      {{item.name}}
  </option>
</select>