【问题标题】:Get dynamically inserted HTML to work with knockoutjs获取动态插入的 HTML 以使用 knockoutjs
【发布时间】:2012-06-05 06:57:46
【问题描述】:

由于所有不错的内置功能,我对所有表都使用 JQuery DataTables,但似乎自定义表布局的唯一方法是为 DataTable 设置“sDom”选项属性并使用类似$("div.SOMECLASS").html(HTML_HERE) 将自定义的 html 插入到表格中。 (仅供参考,我只是想自定义标题)。

问题是我希望插入的 html 使用 knockoutjs 绑定。 Knockout 似乎没有以这种方式初始化绑定。

有没有办法解决这个问题?

这是我要插入的 html 的一部分。它几乎是表格的一些自定义过滤器功能的下拉列表。

'<li><a data-bind="click: Filter(\'Severity 1\', 2)">Severity 1</a></li>'

【问题讨论】:

标签: javascript jquery html knockout.js knockout-2.0


【解决方案1】:

插入动态HTML元素后必须调用该函数

ko.applyBindings(viewModel, elementContainingDynamicContent)

这里的例子http://jsfiddle.net/rniemeyer/FCN5p/

【讨论】:

  • 谢谢,这正是我要找的。​​span>
  • 这是正确答案,我不知道为什么这么难找。需要动态加载页面内容并不少见。谢谢!
  • 请注意,要使其正常工作,请使用 document.getElementById("elementId") 获取 DOM 元素;不要使用 jquery $('#elementId'),否则 ko 会报错:tinyurl.com/laaqf7j
  • 如果你已经有了 jQuery 元素,$element[0] 也可以。
猜你喜欢
  • 1970-01-01
  • 2015-04-21
  • 1970-01-01
  • 2018-08-25
  • 2017-04-06
  • 2011-09-27
  • 2019-01-01
  • 1970-01-01
  • 2010-09-08
相关资源
最近更新 更多