2012-06-19 90 views
0

我在搜索解决方案时遇到了问题。 问题是,我有一个.xml文件,其中包含的数据,这有助于动态生成HTML页面。数据看起来像这样。 <?xml version="1.0"?><Controls><TextInput XmlNodeBoundTo="TEXTINPUT1" Name="TEXTINPUT1" Id="T1></TextInput><TextInput XmlNodeBoundTo="TEXTINPUT2" Name="TEXTINPUT2" Id="T2"></TextInput></Controls>使用Knockout动态添加dom元素

现在我的问题是每个控件,如果tagName是“的TextInput”然后我不得不添加在HTML页面中输入一个控制<input/>。这我已经实现了基本的JavaScript,但我想实现使用KO,因为我是一个新手到KO我不能理解那么多。 因此,任何类似于我的问题的教程都会有很大的帮助。

回答

0

首先,你需要做一个模板,然后绑定视图模型数据请参照下面psedo代码

<tbody data-bind="template: { name: 'comissionTemplate', foreach: Comissions }"></tbody> <script type="text/html" id="comissionTemplate"> 
    <tr > 
     <td><input type='text' data-bind="value: "based on object passed to obseravable array set the value here"/></td> 
</tr> 

viewModel = { 
Comissions: ko.observableArray([])} 
ko.applyBindings(viewModel); 

所以,你需要解析XML和推动内部commisions的数据,然后绑定到脚本标签

+0

感谢您的回复,所以我必须为每个控件定义模板?还有一件事可以是表格中的元素(嵌套),并且每个控件都可以以任何顺序出现 – Rakesh