2012-06-19 155 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