【问题标题】:knockout checkboxlist with dynamic data带有动态数据的剔除复选框列表
【发布时间】:2012-05-14 19:42:21
【问题描述】:

伙计们,我的英语不好..但我会尽力而为

我是淘汰赛新手,我对这个工具印象深刻。 我在我的 MVC 3 应用程序的新页面上使用了这个框架。但我只是遇到了一个问题,如何用数据库中的数据标记我的复选框列表。

<div data-bind="foreach: listPeople">
    <div>
        <label>
            <input type="checkbox" data-bind="attr: { value: id_person}, checked: $parent.checkedPeople "  />
            <span data-bind="text: name_person"></span>
        </label>
    </div>
</div>

正如你们所看到的,我使用选中的标签来“保存”id_person 信息以保存我的数据库。

listPeople 是我的人员的 observableArray。 并且 checkedPeople 是一个带有那些被选中的人的 observableArray。

同时插入它的工作就像小菜一碟。 问题是当我试图“编辑”时。当我尝试以前填充“checkedPeople”时。

淘汰赛不应该识别它吗?

【问题讨论】:

标签: asp.net-mvc-3 knockout.js checkboxlist


【解决方案1】:

我想在这里理解你的问题。你的意思是说列表与人绑定,但没有适当地检查选择的人?如果是这种情况,您的 selectedPeople 可观察数组需要是一个整数数组(不是 People 类型)。

复选框的值需要与 selectedPeople 数组中的至少一个整数匹配,才能显示为选中状态。

【讨论】:

  • 这是一个错误.. 这个值:id_person 是一个“字符串" 字段.. 我用这个解决了我的 JS (ModelView) 中的问题: for (var i in result.checkedList) self.checkedPeople().push(result.checkedList[i].id_person.toString());我只是将数组的类型从 int 更改为 string。
  • 但是现在..由于某些错误,我需要进行淘汰操作以使我的复选框列表认识到它已经有一些检查过的人。我必须检查一个。然后敲除“天哪,已经有一些复选框需要标记”。
猜你喜欢
  • 2012-03-25
  • 2021-08-27
  • 1970-01-01
  • 2014-01-17
  • 2022-08-05
  • 2013-09-11
  • 1970-01-01
  • 1970-01-01
  • 2014-03-15
相关资源
最近更新 更多