0

我有一个以下格式的 JSON 文档,需要使用它来使用 angular 动态构建复选框。

var data = {
"Name":[
    {
        "tagId":4489,"name":"Name","label":"Employee Name"
    }
],
"Service":[
    {
        "tagId":1722,"name":"good service","label":"Good Service"
    },
    {
        "tagId":3707,"name":"bad service","label":"Bad Service"
    }
]};

我只是在学习 Angular js,我正在从事的项目将需要以下格式的复选框。

姓名

[ ] 员工姓名

服务

[ ] 好服务

[ ] 糟糕的服务

JSON 在我的主控制器中使用 ajax 启动时加载。我不太确定如何让 Angular 使用 ng-repeat 函数为我构建它。

任何帮助表示赞赏。

4

2 回答 2

2

看看我的小提琴。我相信我的答案比哈利勒的更完整。

http://jsfiddle.net/nicolasmoise/8YQPh/1

我创建了一个工厂.factory('checkBoxFactory', function(){}),它接受 JSON 对象并向每个标签添加一个 check="false"。这可能不是必需的,但我认为最好立即设置值,以防用户不触摸它们。

最后,我有一个指令.directive('checkboxes', function(){}),它采用我通过工厂创建的复选框并创建所需的标记。有了这个,您可以更改类别的名称(名称、服务),它仍然有效。

如果这不是您的想法或您有疑问,请告诉我。

于 2013-10-22T19:32:49.433 回答
1

我做了一个 jsfiddle 你在这里寻找的最基本的例子。

基本上我只是附加data到范围并迭代两个列表,"Service"并将s 与(角度文档"Name")一起使用并附加一个链接到每个对象上的值(这将在您激活复选框时由角度添加)。inputtype=checkboxng-modelcheck

您可以通过引用check每个对象来监视复选框的值。我通过做ng-repeat="service in data.Service"然后调用来做到这一点service.check

于 2013-10-22T16:59:38.287 回答