43 votes

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

J'utilise JQuery DataTables pour tous mes tableaux en raison de toutes les fonctionnalités, mais il semble que la seule façon de personnaliser la disposition de la table est de définir le "sDom" option attribut de la Table de données et d'utiliser quelque chose comme $("div.SOMECLASS").html(HTML_HERE) pour insérer du html personnalisé dans la table. (Pour info, je suis juste en train de personnaliser l'en-tête).

Le problème c'est que je veux le insérée html pour utiliser knockoutjs de liaison. Knock-out ne semble pas initialiser la liaison de cette façon.

Est-il un moyen de contourner cela?

C'est en partie le code html que je veux insérer. C'est en gros une liste déroulante de coutume, les fonctions de filtrage de la table.

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

-Merci!

68voto

Trinh Hoang Nhu Points 4358

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/

0voto

user1942887 Points 21

Utilisez la balise "html"

voir: http://knockoutjs.com/documentation/html-binding.html pour plus de détails

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X