【问题标题】:angularjs - can't pre select check boxes in checklist modelangularjs - 无法在清单模型中预先选择复选框
【发布时间】:2015-06-04 15:02:46
【问题描述】:

我将checklist-model 用于带有ng-repeat 的列表复选框。所以我将控制器中的所有检查值作为一个数组。问题是当页面刷新时,之前保存的数据将被填充,并且一些复选框将在页面加载时被选中。但是如果我再次保存数据,则不会返回预先填充的复选框。

<div ng-repeat="option in innerSet track by $index">
    <div>
        <div ng-repeat="quest in option">
        <input type="checkbox" checklist-model="selected[qn.id][an.ac_id]" checklist-value="quest.id" ng-checked="an.questions.indexOf(quest.id) > -1" > {{quest.quest_text}}</span>
        </div>
    </div>
</div>

我正在使用 ng-checked 来预先选择复选框。

【问题讨论】:

  • @tymeJV indexOf 是 ng-checked 及其正常工作的条件
  • 我的错...认为不是出于某种原因:\
  • 您是否正在重新分配要填充新选择的复选框的数组?还是您将新选择的推到旧阵列?换句话说:您是替换数组还是将新值添加到旧数组中?
  • @Guinn 正在重新分配
  • @I'mnidhin 所以你不能改变用 arr.push() 重新分配数组的代码位吗?您可以检查第一次访问时数组是否未定义,如果是,则初始化数组并添加值,然后在刷新后如果数组未定义,请使用 arr.push(),或者我现在想得太简单了..?

标签: javascript angularjs


【解决方案1】:

因此,要将我的评论转换为答案,而不是在刷新后从头开始重新分配数组,而是检查数组当前是否为空。如果是,则用数据填充,如果不是,则使用 array.push() 添加数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-12
    • 2015-03-03
    • 2023-04-01
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    相关资源
    最近更新 更多