2013-03-04 33 views
0

我正在使用knockoutjs v1.2.0和Jquery模板。我會使用data-bind:foreach等,但我發現它只出現在knockoutjs的v2.0.0中。所以我必須使用jQuery模板。使用Jquery模板填充來自observableArray的錶行

我的aspx文件中有這樣的代碼:

.... 
.... 
.... 
<tbody data-bind="template: {name: 'tasksTemplate', foreach: form.model.tasks}">       
          </tbody>         
         </table> 
        </td> 
       </tr> 
      </table> 
     </div> 
    </div> 
    <script id="tasksTemplate" type="text/html"> 
           <tr> 
            <td> 
             <input id="Selected" type="checkbox" data-bind="checked: ${isSelected}" /> 
            </td> 
            <td> 
             <select id="CableCode" data-bind="options: CableCodes, value: ${CableCodeId}, optionsText: 'Code', optionsValue: 'Id'" style="width: 95%"></select> 
            </td> 
            <td> 
             <input type="text" /> 
            </td> 
            <td> 
             <input type="text"/> 
            </td> 
            <td> 
             <select style="width: 95%"></select> 
            </td> 
            <td> 
             <input type="text" class="datePicker" /> 
            </td> 
            <td> 
             <input type="text" class="datePicker" disabled="disabled" /> 
            </td> 
            <td> 
             <input type="text" disabled="disabled" /> 
            </td> 
           </tr> 
          </script> 
</asp:Content> 

,並在那裏我把我的表單對象的js文件(包括所有的功能和觀測等)都有這樣的代碼:

.... 
....  
self.tasks = ko.observableArray([]); 
    self.addTask = function() { 
     self.tasks.push({'isSelected': '', 'CableCodeId': '' }); 
    }; 
.... 
.... 

但即使當我加載頁面,當我嘗試使用addTask函數添加一行到我的表時,我得到沒有js錯誤我得到一個錯誤:預期的標識符,字符串或數字。

我試過從isSelected和CableCodeId中摘掉單引號,但什麼也沒有。

我也試圖得到第二個數據綁定關閉(關於CableCode的),所以我只能檢查第一個(isSelected),但我仍然得到相同的錯誤。

我也使用IE 8

回答

0

爲什麼您對您的約束力PARAMS一個$?

checked: ${isSelected} 

刪除並重試。

checked: isSelected 

然後看看是否有效。

相關問題