2014-01-08 57 views
0

我有用于添加表单的viewmodel。在那个表格上,我有一个名为'描述'的文本框。 第一次用户在该字段中输入一些文本。 Whan用户按取消(在同一表单上),然后再次按下Add(添加)在'description'(描述)字段中显示输入值的表单。Kendo取消绑定ViewModel并重新绑定到其他

我想要创建新的视图模型并将所有模型解除绑定到错误的值。但是,当我这样做:

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和有约束力的是错误的。

+0

你需要添加代码来重现问题 –

+1

我被困在一个类似的情况。我无法解除绑定和重新绑定数据。你是如何解决这个问题的? –

回答

0

旧线程,但我最近面临同样的问题。 就我而言,我只是必须销毁所有剑道元素:

kendo.destroy(document.body);