javascript - 无法在 AngularJS 中创建动态对象数组

标签 javascript jquery html css angularjs

以下是我尝试在按钮 click 上创建(可用)的数组类型 -

    [
        {DATE, morning_VALUE, night_VALUE},
        {DATE, morning_VALUE, night_VALUE},
        {DATE, morning_VALUE, night_VALUE},
        {DATE, morning_VALUE, night_VALUE},
        {DATE, morning_VALUE, night_VALUE},
        {DATE, morning_VALUE, night_VALUE},
        {DATE, morning_VALUE, night_VALUE},
    ]
    morning_VALUE -> true/false
    night_VALUE -> true/false

以下是我的 plnkr 代码 - PLNKR

HTML -

<div class="col-lg-3">
  <ul>
    <li ng-repeat="a in weeklist" style="margin-bottom: 3px;">
      <button ng-click="showWeekDays(a[0], a[1])" 
              style="width:178px;" 
              class="btn bg-blue">
        {{a[0] | date: 'shortDate'}} - {{a[1] | date: 'shortDate'}}
      </button>
    </li>
  </ul>
</div>
<table>
  <tr ng-repeat-start="a in sevenWeekDayArr">
    <td>
      {{a | date: 'shortDate'}}
    </td>
    <td>
      <input type="hidden" 
             ng-model="avail[$index].currDate" 
             ng-init="avail[$index].currDate = a" />
    </td>
  </tr>
  <tr>
    <td>Morning:</td>
    <td>
      <input type="checkbox" ng-model="avail[$index].morning" />
    </td>
  </tr>
  <tr ng-repeat-end="">
    <td>Night:</td>
    <td>
      <input type="checkbox" ng-model="avail[$index].night" />
    </td>
  </tr>
</table>
<div>
  <button ng-click="addTime(avail)">Click</button>
</div>

让我知道我在这里做错了什么,我相信我需要在这种情况下使用 push 但不知道如何让它适合我的场景。

最佳答案

您正在尝试将对象绑定(bind)到没有特定值的模型对象。

在 script.js 的第 17 行之后试试这个

$scope.avail.push({currDate: "", morning:false, night:false}); 

这将初始化该对象数组,然后您可以按照您希望的方式从 View 中修改它

关于javascript - 无法在 AngularJS 中创建动态对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25930774/

相关文章:

javascript - FancyBox 2.x 中显示/隐藏标题不可靠

javascript - jQuery Cycle 插件 pagerAnchorBuilder 图像变得未定义

jquery - 脚本无响应 - 是否可以避免?

php - 如何仅保存正在发布的行的 ID

javascript - 将 angularjs 模块与 ionic 框架链接时发生冲突

javascript - 是否可以在 AngularJS 中的资源上设置默认查询参数?

javascript - 根据第 1 个 2 个下拉列表 ID 显示第 3 个下拉列表

javascript - foreach slider 仅显示一个数据库条目

javascript - 使用 nodejs 发送对 html 的响应来使用 REST

html - 登录表单输入未激活