web-dev-qa-db-fra.com

Obtenez du HTML inséré dynamiquement pour travailler avec knockoutjs

J'utilise JQuery DataTables pour toutes mes tables en raison de toutes les fonctionnalités intégrées de Nice, mais il semble que la seule façon de personnaliser la disposition des tables est de définir l'attribut d'option "sDom" pour DataTable et d'utiliser quelque chose comme $("div.SOMECLASS").html(HTML_HERE) pour insérer le code HTML personnalisé dans le tableau. (Pour info, j'essaie juste de personnaliser l'en-tête).

Le problème est que je veux que le HTML inséré utilise la liaison knockoutjs. Knockout ne semble pas initialiser la liaison de cette façon.

Existe-t-il un moyen de contourner cela?

Cela fait partie du html que je veux insérer. C'est à peu près une liste déroulante de certaines fonctions de filtre personnalisées pour la table.

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

Vous devez appeler cette fonction après avoir inséré un élément HTML dynamique

ko.applyBindings(viewModel, elementContainingDynamicContent)

Exemple ici http://jsfiddle.net/rniemeyer/FCN5p/

64
Trinh Hoang Nhu