This is a migrated thread and some comments may be shown as answers.

Setting a value from a function

1 Answer 53 Views
MVVM
This is a migrated thread and some comments may be shown as answers.
sitefinitysteve
Top achievements
Rank 2
Iron
Veteran
sitefinitysteve asked on 08 May 2012, 03:52 PM
Here's the scenario...I have a button on my model....essentially a toggle.  However the model STATE should only change if the $.ajax call returns success...so this is what I tried

viewModel = kendo.observable({
        releaseMe: function (item) {
            release(item);
        }   
    });
 
function release(item) {
    var releaseState = item.data.Released;
    var campus = item.data.CampusID;
    var block = viewModel.BlockID;
    var url = "/api/cps/clerkship/blocks/" + block +  "/" + campus + "/";
 
    if (!releaseState)
        url += "release";
    else
        url += "unrelease";
 
 
    $.ajax({
        url: url,
        type: "PUT",
        data: {
            id: block,
            campus: campus
        },
        success: function (e) {
            if (!releaseState)
                item.set("Released", true); //WHAT SHOULD THIS BE
            else
                item.set("Released", false); //WHAT SHOULD THIS BE
        }
    });
}

Any idea?  Should it literally just be a simple
item.data.Released = true;

1 Answer, 1 is accepted

Sort by
0
Atanas Korchev
Telerik team
answered on 10 May 2012, 08:04 AM
Hi,

 To set a field you should use the set method. If you want to set item.data.Released then use this
item.set("data.Released", true). This is mentioned in the ObservableObject help topic.

Regards,
Atanas Korchev
the Telerik team
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
Tags
MVVM
Asked by
sitefinitysteve
Top achievements
Rank 2
Iron
Veteran
Answers by
Atanas Korchev
Telerik team
Share this question
or