T.Ho
T.Ho

Reputation: 1190

Get dynamically inserted HTML to work with knockoutjs

I'm using JQuery DataTables for all my tables because of all the nice built-in features, but it seems the only way to customize the table layout is to set the "sDom" option attribute for the DataTable and use something like $("div.SOMECLASS").html(HTML_HERE) to insert the customized html into the table. (FYI, i'm just trying to customize the header).

The problem is I want the inserted html to use knockoutjs binding. Knockout doesn't seem to initialize the binding this way.

Is there a way to work around this?

This is part of the html that I want to insert. It's pretty much a drop down list of some custom filter functions for the table.

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

Upvotes: 43

Views: 23940

Answers (1)

Nhu Trinh
Nhu Trinh

Reputation: 13956

You have to call this function after insert dynamic HTML element

ko.applyBindings(viewModel, elementContainingDynamicContent)

Example here http://jsfiddle.net/rniemeyer/FCN5p/

Upvotes: 68

Related Questions