javascript - AngularJS 选择不动态填充

标签 javascript angularjs json

我有以下 JSON(测试 JSON 是如何从服务器传来的):

$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 中选择我执行以下操作:

<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>

当我 console.log() 时,我得到了实际的对象,所以它不是未定义的,但是选择没有填充。我应该做其他事情来填充它吗?我是 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>

然后在您选择元素之后,应该填充模型 picture.category1

工作 plunker http://codepen.io/maurycyg/pen/PZpRRy

您的数据也应该采用不同的格式

$scope.allCategoriesAndSubcategories = [{
      "categoryname": "pasteleria",
      "subcategory": [{
        "subcategoryname": "pastel tradicional",
        "subcategoryid": "1"
      }, {
        "subcategoryname": "pastel con fondant",
        "subcategoryid": "2"
      }]
    }, {
      "categoryname": "eventos",
      "subcategory": [{
        "subcategoryname": "boda",
        "subcategoryid": "1"
      }, {
        "subcategoryname": "cumpleanos",
        "subcategoryid": "2"
      }]
    }];
  });

关于javascript - AngularJS 选择不动态填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34635580/

相关文章:

javascript - 用于在 Rails 中无限滚动的 jScroll

javascript - 如何使用 AngularJS 将选定的第一个值设置为 SELECT(multiple)

javascript - id自增前端逻辑

javascript - 如何使用 Javascript 将动态创建的元素保存到 json?

json - 使用 yaml-cpp 发出 JSON?

javascript - JSON 字符串到 JavaScript 对象错误

javascript - 在 ES6 中声明新数组?这是在做什么

javascript - JavaScript 中的 setTimeout

javascript - 如何判断 javascript 中的函数调用是否发生错误?

javascript - AngularJs $q.all 使用