Angularjs 使用ng repeat和$index如何在select中设置默认选定项

Angularjs 使用ng repeat和$index如何在select中设置默认选定项,angularjs,select,Angularjs,Select,使用ng repeat和$index如何使用angularjs显示默认选定值 我的代码: 我有以下价值观: "Jewelery_And_Diamond_Type": [ { "id": 33, "value": "Earrings" }, { "id": 35, "value": "Gemstones" }, { "id": 34, "value": "Loose Diamonds" }, { "id": 32, "value": "Necklace

使用ng repeat和$index如何使用angularjs显示默认选定值

我的代码: 我有以下价值观:

"Jewelery_And_Diamond_Type": [
{
  "id": 33, 
  "value": "Earrings"
}, 
{
  "id": 35, 
  "value": "Gemstones"
}, 
{
  "id": 34, 
  "value": "Loose Diamonds"
}, 
{
  "id": 32, 
  "value": "Necklaces"
}, 
{
  "id": 31, 
  "value": "Pendants"
}, 
{
  "id": 30, 
  "value": "Rings"
} ]

selected Value is "Earings"
在我的HTML中

 <select ng-model="categoryval.Jewelery_And_Diamond_Type[$index]" ng-init="categoryval.Jewelery_And_Diamond_Type[$index] = SelectValues.Jewelery_And_Diamond_Type.indexOf(0)" ng-options="option.value for option in SelectValues.Jewelery_And_Diamond_Type track by option.id">

如果我这样写,这意味着默认情况下没有选择值。我需要基于$index选择的精确值。

使用ng选项

 <select ng-model="value" ng-init="value='Earrings'"   ng-options="mode.value as mode.value for mode in storageResult.Jewelery_And_Diamond_Type">
  </select>


如果您知道默认选定值可用的id,则可以将其包含在范围变量中,并将变量注入

<option value="">{{selectedType}}</option>

$scope.selectedType= categoryval.Jewelery_And_Diamond_Type[defaultIndex].valu‌​e
{{selectedType}
$scope.selectedType=categoryval.Jewelry\u和\u Diamond\u类型[defaultIndex]。值‌​E

value=“”帮助您在选择中填充空的第一个选项,ng模型将确定选择哪个选项

因此,如果您严格希望通过数组中的索引选择一个项,则需要创建如下对象模型:

$scope.selected = $scope.values[0];
值是您的json数组

然后,选择将如下所示:

    <select
      ng-model="selected"
      ng-options="option.value for option in values track by option.id">
   </select>


{{ctrl.selected}json}
删除ng init并在控制器中设置默认值,以便您可以单元测试默认选项是否始终是您想要的

在控制器中:

$scope.defaultValue =  $scope.SelectValues.Jewelery_And_Diamond_Type[0];
然后更改HTML

<select ng-model="defaultValue"  ng-options="option.value for option in SelectValues.Jewelery_And_Diamond_Type track by option.id">


ng model=“categoryval.jewelry”和“Diamond”类型[$index]。值。请重试this@RaviTeja不工作尝试这样做,我不确定它是否会工作ng init=“categoryval.jewelry\u And_Diamond\u Type[$index]=SelectValues.jewelry\u And_Diamond\u Type.indexOf(0).value“在作用域上设置一个变量,并将其分配给一个对象值,如$scope.selectedType=$scope.categoryval.jewelry\u和\u Diamond\u Type[0]。value”‌​E然后ng model=“selectedType”美元索引从何而来?此下拉列表是否在ng重复中?对于此场景jsfiddle.net/hn3taeeo/24如何执行此场景jsfiddle.net/hn3taeeo/24请参见。“学校1”和“校园1”应由default@Ben10这与你原来的问题完全不同。