我有用于“添加”表单的视图模型。在该表格上,我有 1 个名为“描述”的文本框。第一次用户在该字段中输入一些文本。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>
问题是我在该元素中有剑道窗口,当我第一次打开该窗口时,它会替换 HTML 并且绑定是错误的。