获取动态插入的HTML以使用knockoutjs

T.H*_*.Ho 41 html javascript jquery knockout-2.0 knockout.js

我正在为我的所有表使用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>'
Run Code Online (Sandbox Code Playgroud)

Tri*_*Nhu 64

您必须在插入动态HTML元素后调用此函数

ko.applyBindings(viewModel, elementContainingDynamicContent)

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

  • 如果你已经有了jQuery元素,`$ element [0]`也可以. (6认同)
  • 所有人都注意,要使其正常工作,请使用document.getElementById(“ elementId”)`获取DOM元素;不要使用jquery`$('#elementId')`,否则,ko会引发错误:http://tinyurl.com/laaqf7j (2认同)