Pregunta

I am learning Knockout. Please can anyone help me to figure out the problem. I want to copy from left textboxes to right textboxes. In the copyValue function, I don't know how to access other observables like "self.RightFrontTire"
Javascript model

var ConditionArray = [{ Id: 1, Title: 'Excellent' },
{ Id: 2, Title: 'Good' },
{ Id: 3, Title: 'Average' }]

var Size = function () {
    var self = this;`enter code here`
    self.First = ko.observable("R");
    self.Second = ko.observable("255");
    self.Third = ko.observable("21");
    self.Last = ko.observable("X");
}
var Tires = function (position) {
    var self = this;
    self.Conditions = ko.observable(ConditionArray);
    self.SelectedCondition = ko.observable("2");
    self.TireSize = ko.observable(new Size());
    self.CopyValue = function (data, event) {
        debugger;
        alert(data)
        switch (event.target.id) {
            case 'btnCopyLeftFrontToRightFront':
                debugger;
                break;
        }
    }
}
var TiresAndWheel = function () {
    var self = this;
    self.LeftFrontTire = ko.observable(new Tires());
    self.RightFrontTire = ko.observable(new Tires());
    self.LeftRearTire = ko.observable(new Tires());
    self.RightRearTire = ko.observable(new Tires());
    self.WheelTypes = ko.observableArray(WTypes);
    self.LeftFrontWheel = ko.observableArray(ConditionArray);
    self.RightFrontWheel = ko.observableArray(ConditionArray);
    self.LeftRearWheel = ko.observableArray(ConditionArray);
    self.RightRearWheel = ko.observableArray(ConditionArray);

}
 var tireAndWheel = new TiresAndWheel();
 ko.applyBindings(tireAndWheel, $('#divTireAndWheel').get(0));

JSFiddle

Thanks in advance.

¿Fue útil?

Solución

Your RightFrontTire is defined in a different view model instance. Reference that instance to get the value of the object inside of it.

self.CopyValue = function (data, event) {
    console.log(tireAndWheel.RightFrontTire());
    switch (event.target.id) {
        case 'btnCopyLeftFrontToRightFront':
            break;
    }
}

Updated fiddle

http://jsfiddle.net/3DgJz/8/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top