Javascript AngularJS选择不动态填充
我有以下JSON测试JSON,它是如何来自服务器的:Javascript AngularJS选择不动态填充,javascript,angularjs,json,Javascript,Angularjs,Json,我有以下JSON测试JSON,它是如何来自服务器的: $scope.allCategoriesAndSubcategories = { "category" : { "categoryname" : "pasteleria", "subcategory" : [ {"subcategoryname" : "pastel tradicional", "subcategoryid" : "
$scope.allCategoriesAndSubcategories = {
"category" : {
"categoryname" : "pasteleria",
"subcategory" : [
{"subcategoryname" : "pastel tradicional", "subcategoryid" : "1"},
{"subcategoryname" : "pastel con fondant", "subcategoryid" : "2"}
]
},
"category" : {
"categoryname" : "eventos",
"subcategory" : [
{"subcategoryname" : "boda", "subcategoryid" : "1"},
{"subcategoryname" : "cumpleanos", "subcategoryid" : "2"}
]
}
};
然后,在HTML中的select上,我执行以下操作:
<div input-field>
<select material-select
ng-model="picture.category1" required>
<optgroup ng-repeat="category in allCategoriesAndSubcategories" label="{{category.categoryname}}">
<option value="{{category.subcategory.subcategoryid}}">{{category.subcategory.subcategoryname}}</option>
</optgroup>
</select>
<label>Categoría #2</label>
</div>
当I console.log时,我得到了实际的对象,因此它不是未定义的,但是select没有填充。我应该做些别的事情来填充它吗?我是angularJS的新手,我找不到类似的例子如果你想创建选项列表,HTML是无效的
<div input-field>
<select material-select ng-model="picture.category1" required>
<optgroup ng-repeat="category in allCategoriesAndSubcategories" label="{{category.categoryname}}">
<option ng-repeat="subcategory in category.subcategory" value="{{subcategory.subcategoryid}}">{{subcategory.subcategoryname}}</option>
</optgroup>
</select>
<label>Categoría #2</label>
</div>
我想问题就在这里
<option value="{{category.subcategory.subcategoryid}}">
子类别是array,我认为您应该使用new ng repeat创建标记列表您的意思是它没有选择默认值?我的意思是它没有填充它。尽管select具有JSON对象的值,但它仍然是未定义的。然而,出于某种原因,第一个类别被忽略了。正如您所见,它只打印第二个JSON集,而不是第一个。@codeninja,因为您在ng-repeat上有一个重复的键。这是因为AllCategories和SubCategories是一个具有重复键的对象,但我现在理解它应该更像这样,既然JSON中没有称为category的对象,为什么ng repeat在allcategories和subcategories中的category中仍然有category名称?这总是让我感到困惑,因为案例类别从对象数组中获取整个对象的值。它可以是您希望在ng repeat中内部使用的任何内容。换句话说:ng repeat=elements中的元素是数组或对象中的单个元素,称为elements hope,这是有意义的
<option value="{{category.subcategory.subcategoryid}}">