0
我有一個頁面我將一個viewmodel綁定到一個jQuery UI對話框中的HTML表格。Knockout removeAll()not recognized
當用戶關閉對話框時,我想要移除viewmodel裏面的所有元素,綁定到HTML表格中observableArray
。我正在使用removeAll()
方法,但是我的螢火蟲告訴我,這不是一個功能。
你能幫我嗎?
這是一個簡化的方案。
HTML
<input type="button" id="open" value="GO!"><br />
<div id='hidden'>
<table>
<tbody data-bind="foreach: i">
<tr>
<td><span data-bind="text: code" /></td>
<td><span data-bind="text: descr" /></td>
</tr>
</tbody>
</table>
</div>
JS
$(function() {
function vm() {
this.items = [
{code: "2011",descr: "descr 2011"},
{code: "2012",descr: "descr 2012"},
{code: "2013",descr: "descr 2013"}
];
this.i = ko.observableArray(this.items);
this.clearFoundEvals = function()
{
this.i.removeAll();
};
return this;
}
ko.applyBindings(new vm());
$dialog = $('#hidden').dialog({
autoOpen: false,
height: 200,
width: 300,
buttons: {
cancel: function() {
vm.clearFoundEvals();
$(this).dialog('close');
}
}
});
$('#open').click(function(){
$dialog.dialog('open');
});
});
我在我的代碼中犯了一個錯誤,但它仍然不起作用 – AngeloBad 2013-02-22 11:19:24
當你調試它時,這個.i解析爲什麼?它顯示爲可觀察數組嗎?另外,我不完全明白你爲什麼要調用removeAll;那將從observableArray中移除所有項目,那是你真正想要做什麼的? – 2013-02-22 11:24:41
是的,這正是我想要做的。 RemoveAll observableArray中的元素 – AngeloBad 2013-02-22 11:27:25