【问题标题】:How to obtain Checkbox values ( checked by user) using ng-model in AngularJS如何在 AngularJS 中使用 ng-model 获取复选框值(由用户检查)
【发布时间】:2013-09-04 00:32:29
【问题描述】:

在尝试实现复选框功能时,我无法获取用户选择了哪些复选框。这是怎么做到的? 下面是我的 HTML sn-p:

<td>
                <table border="0"><th>Tier</th>
                <tr ng-repeat="item in tiertype">             
                    <td>
                    <label class="checkbox" for="{{item.id}}">
                    <input type="checkbox" ng-model="selection.ids[item.id]" name="tier_class" ng-checked="item.checked" id="{{item.id}}"/>{{item.name}}
                    </label>
                    </td></tr></table>
            </td>

下面是我的javascript sn-p:

$scope.tiertype = [ 
                       { id: 1, name: "All", checked: true}, 
                       { id: 2, name: "Standard", checked: false },
                       { id: 3, name: "Unreserved", checked: false },
                       { id: 3, name: "Reserved", checked: false },
                       { id: 4, name: "General", checked: false }
                       ];

我在使用“复选框值 = {{selection.ids}}”时没有得到正确的值。此外,在检查任何复选框时,都会检查所有复选框或 id:1 的复选框(默认值)。 对我来说似乎很奇怪,无法弄清楚。我在哪里错了,因为我在 AngularJS 方面没有太多经验。

【问题讨论】:

  • 将您的 ngModel 更改为 ng-model="item.checked"
  • 我整理了一个应该有帮助的 jsFiddle。 Checkbox Fiddle 关键是使用指令。
  • 检查所有复选框等的一个问题由此解决了,但是我如何知道在 js 端使用范围等来知道用户检查了哪些复选框?

标签: javascript angularjs angularjs-scope


【解决方案1】:

只需将复选框 ng-model 设置为检查的布尔值。即:ng-model="item.checked"

【讨论】:

  • ng-model ="item.checked" 启用第一个选项的默认检查,但在执行“用户检查的值:{{checked}}”或 {{item.checked}} 时,不返回任何内容.我怎么知道用户检查了哪些复选框?
猜你喜欢
  • 1970-01-01
  • 2015-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-14
  • 2016-02-27
  • 2016-09-09
  • 1970-01-01
相关资源
最近更新 更多