获取angularjs中的复选框值并将它们传递到另一个控制器

时间:2015-05-19 19:54:58

标签: angularjs

我正在从jquery过渡到angularjs。我正在尝试开发SPA风格的小应用程序。左侧是控制右侧内容的菜单。左侧菜单有自己的控制器。当用户选中一个复选框并单击“开始”时,应将复选框值传递给控制右侧内容的控制器。 Here是该应用的链接。以下是我遇到的问题。

1)我对访问复选框的选中值的简单问题感到困惑。如何访问已选中复选框的值。这些checbox在左侧菜单上,我使用ng-model来访问下面的值

的index.html

<div id="searchOne">
      <ul>
        <li ng-repeat="searchOneCB in main.checkBoxOneData">
          <input type="checkbox" name="firstSearch" id="firstSearch_{{searchOneCB.code}}" ng-model="main.selected[searchOneCB.code]" />
{{searchOneCB.description}}
        </li>
      </ul>

      <button class="btn btn-primary" style="width:80px;margin-right: 10px" ng-click="main.submit()">
          Go
      </button>
</div>

MainCtrl.js访问复选框值。

main.submit = function() {      
  console.log(main.selected);
}

这些值现在采用数组形式,如下所示

[BBBB: true, AAAA: true].

这是访问值的正确方法吗?仅检索已检查的checbox值的最佳方法是什么?

2)另一个问题是,一旦我获得了复选复选框值列表,我怎样才能将它们传递给控制右侧内容的contentCtrl.js?

1 个答案:

答案 0 :(得分:0)

您应该将控制器注入要使用的控制器中。这里已经回答了答案是链接。

How do I inject a controller into another controller in AngularJS