javascript - 通过 AngularJS 动态添加选项时出错

标签 javascript angularjs

我有一个带有 select 的表单,其中的选项是动态生成的。但是,在 ng-model 中添加表单 id 后遇到错误。有人可以指出我的错误吗?它无需表单即可工作。

在controller.js中

$scope.form.colors = [
    {name:'Select Colors', value:''},
];

$http.get( url + 'color.php').success(function(data){
    for(var a=0; a < data.length; ++a){
        $scope.form.colors.push({name: data[a]['c'], value: data[a]['rid']});   
    }       
});

$scope.form.color = $scope.form.colors[0]; 

在 .html 中

<div class="item item-input item-select">
  <div class="input-label">
      Color
  </div>
  <select ng-model="form.color" ng-options="c.name for c in form.colors"></select>
</div>

它最初在没有表单的情况下工作。

最佳答案

在给它分配颜色之前,$scope.form 是否存在?

如果没有,您应该这样定义它:

$scope.form = {
  colors: [
    {name:'Select Colors', value:''},
  ]
};

form 对象需要先存在,然后才能为其分配任何内容。

关于javascript - 通过 AngularJS 动态添加选项时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29712811/

相关文章:

javascript - 如何改变每次测试之间的 spy 结果

javascript - jquery .serialize() 不适用于动态加载的表单

javascript - 如何在 TypeScript 中使用实验性装饰器和协调类型?

javascript - 使用 Angular 和套接字切换 HTML 元素

javascript - AngularJS:自动链接 $resource 操作

javascript - 检查 Discord.js DM 是否通过

javascript无效的正则表达式

angularjs - 根据状态有条件地设置 Angular 的 ng-class

angularjs - Angular : Change component template using variables

javascript - angularJS 中的绑定(bind)数据