Javascript 角度选择ng选择不工作(使用<;选项ng重复>;)
我花了一个小时,尝试了所有可能的属性排列,将select绑定到作为对象的模型,而ng selected什么也不做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-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>