如何使用Angular Schema Form Checkbox boolean处理onChange?

时间:2016-08-05 15:14:26

标签: javascript jquery angularjs angular-schema-form

我似乎无法解决这个onChange事件。我已根据文档将该方法添加到代码中,但没有发生任何事情。

 $scope.schema = {
"type": "object",
"title": "Comment",
"properties": {
  "comment": {
    "type": "array",
    "items": {
      "type": "object",
      "properties": {
        "name": {
          "type": "boolean",
          "title": "Name"
        },
        "eligible": {
          "type": "boolean",
          "title": "Eligible for awesome things"
        },
        "code": {
          "type":"boolean",
          "title": "The Code"
        }
      }
    }
  },
  "comment2": {
    "type": "boolean",
    "title": "Name"
  }
},
"required": [
  "comment"
]
};


$scope.form = [
{
  key: "comment",
  onChange: function(model, form){
    console.log('got there though');
  }
},
{
 type: "boolean",
 onChange: function(model, form){
   console.log('this');
 }
},
{
  type: "submit",
  title: "Save"
}
];

$scope.model = {};

查看这个plunker:http://plnkr.co/edit/XJGuPYPBDc7520vjWtbI?p=preview

1 个答案:

答案 0 :(得分:2)

周五想出这个。我需要在表单定义中按键引用每个属性。

参考更新的plunker:http://plnkr.co/edit/XJGuPYPBDc7520vjWtbI?p=preview

 $scope.form = [
{
  key: 'comment',
  add: null,
  remove: null,
  title: false,
  notitle: true,
  items: 
  [
    {
      key: "comment.name",
      title: 'This',
      type: 'boolean',
      onChange: function(model, form){
        alert('got there ' + model.toString());
      }
    },
     {
      key: "comment.elgible",
      title: 'This',
      type: 'boolean',
      onChange: function(model, form){
        alert('got there though');
      }
    },
     {
      key: "comment.code",
      title: 'This',
      type: 'boolean',
      onChange: function(model, form){
        alert('got there though');
      }
    },
    ]
},

{
  type: "submit",
  title: "Save"
}
];