Kendo Unbind ViewModel and rebind to other

2.1k Views Asked by At

I have viewmodel that i use for 'add' form. On that form i have 1 textbox called 'description'. First time user enter some text in that field. Whan user press cancel( on the same form ) and then press Add again the form appearing with entered value in the 'description' field.

I want to create new view model and unbind all model with wrong value. But when i do that:

kendo.unbind($("#notes-dialog"));
kendo.bind($("#notes-dialog"), notesWindowModel);

the old value persist in the description textbox.

EDIT:

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);

Why does my field equal 2?

If i add

notesWindowModel.set('text', 'aaaa');

at the end my value equals 'aaaa'. It means that element is binded to first model. What is wrong here?

I found the problem:

 <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>

The problem was that i have kendo window inside that element and when i open that window first time it replaces HTML and binding was wrong.

1

There are 1 best solutions below

0
On

Old thread but I've recently faced the same issue. In my case I've just had to destroy all kendo elements:

kendo.destroy(document.body);