javascript - 将模型绑定(bind)到选定的值,而不是在项目上选择设置

标签 javascript angularjs

我有以下代码,可以正常工作:

<div class="col-md-12">
    <div class="button-group">
        <button type="button" class="btn btn-default btn-block btn-sm dropdown-toggle" data-toggle="dropdown"><span class="">TurbineNumber</span> <span class="caret"></span></button>
        <ul class="dropdown-menu" style="">
            <li style="padding-left:10px;" ng-repeat="c in turbineNumbersDistinct">
                <label style="font-weight:100;">
                    <input type="checkbox" ng-model="c.Selected" ng-change="filterChanged()" />&nbsp;{{c.Name}}
                </label>
            </li>
        </ul>
    </div>
</div>

但是我想将选定的值绑定(bind)到一个新数组,而不是在对象本身上设置 Selected 。我发现一些示例调用了填充绑定(bind)数组的函数,但是是否可以内联执行此操作?

最佳答案

这是有效的,使用ng-change,您可以将元素推送或拼接到新的输出数组($scope.output)中。

JSFiddle Demo

HTML:

<div ng-controller='MyController' ng-app="myApp">
    <div class="col-md-12">
    <div class="button-group">
        <button type="button" class="btn btn-default btn-block btn-sm dropdown-toggle" data-toggle="dropdown"><span class="">TurbineNumber</span> <span class="caret"></span></button>
        <ul class="dropdown-menu" style="">
            <li style="padding-left:10px;" ng-repeat="c in turbineNumbersDistinct">
                <label style="font-weight:100;">
                    <input type="checkbox" ng-model="selected[$index]" ng-change="selected[$index] ? output.push(c.Name): output.splice(output.indexOf(c.Name), 1)"  />&nbsp;{{c.Name}}
                </label>
            </li>
        </ul>
    </div>
    {{output}}
</div>
</div>

关于javascript - 将模型绑定(bind)到选定的值,而不是在项目上选择设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46138056/

相关文章:

javascript - 将网页缩小到 90%

javascript - 使用 document.getElementById 引用多个(不同的)Div Id

javascript - 组件 DOM 更改时的 Vue 通知

javascript - 指令的 Angular 优先级不起作用

node.js - 将 Angular 和 Node Express CSRF 与 Redis session 一起使用,如何在 session 过期后重置 session 信息和 CSRF?

html - 为什么我的屏幕阅读器会多次阅读行?

javascript - 如何将 2 个图像并排放置,并将这些图像用作具有 2 个不同费用金额的 Stripe 付款按钮?

javascript - 检查 Nunjucks 中的对象是否为空

javascript - AngularJS 嵌套 ng-repeats 与单个索引?

javascript - 引导后动态地将 Controller 分配给元素