我有用于'添加'表单的viewmodel。在那个表格上我有一个名为'description'的文本框。 第一次用户在该字段中输入一些文本。 Whan用户按下取消(在同一表格上),然后再按“添加”,在“说明”字段中显示输入值的表格。
我想创建新的视图模型并解除所有具有错误值的模型的绑定。但是当我这样做时:
kendo.unbind($("#notes-dialog"));
kendo.bind($("#notes-dialog"), notesWindowModel);
旧值会在说明文本框中保留。
编辑:
notesWindowModel = kendo.observable(
{
text: '2'
});
kendo.bind($("#notes-dialog"), notesWindowModel);
var notesWindowModel2 = kendo.observable(
{
text: '4'
});
kendo.unbind($("#notes-dialog"));
kendo.bind($("#notes-dialog"), notesWindowModel2);
为什么我的字段等于2?
如果我添加
notesWindowModel.set('text', 'aaaa');
最后我的价值等于'aaaa'。这意味着元素绑定到第一个模型。这有什么不对?
我发现了问题:
<div id="notes-dialog">
<div id="notes-dialog-window" data-role="window" data-width="410" data-height="510" data-actions="" data-modal="true" data-title="false" style="display: none;">
<div id="notes-new-item">
<div>
<h3>Notes</h3>
<div>
<span>Note</span> <span>Is Delay?</span><span><input data-bind="value: model.Entity.IsDelay" class='k-input notes-checkbox' type='checkbox' /></span>
</div>
<div>
<textarea class="k-input utility-analysis-textarea notes-textarea" data-bind="value: text"></textarea>
问题是我在该元素中有kendo窗口,当我第一次打开该窗口时它会替换HTML并且绑定错误。
答案 0 :(得分:0)
旧线程,但我最近遇到了同样的问题。 在我的情况下,我只需要销毁所有剑道元素:
kendo.destroy(document.body);