Search code examples
javascriptknockout.jsknockout-2.0

Accessing "name" of the subscribed variable in ko subscribe method


I know i can access the newValue of the subscribed variable but how can i access to the name of it:

for ( var i = 0; i < carSelects.length; i++) {
    var carId = $(carSelects[i]).attr('carId');
    self["cars_" + carId + "_selected"] = ko.observableArray();
    self["cars_" + carId + "_selected"].subscribe(function(newValue) {
       // here i want to access the name of the subsribed variable 
       // i.e. "cars_" + carId + "_selected"
    });
}

Solution

  • Try like this:

    for ( var i = 0; i < carSelects.length; i++) {
       var carId = $(carSelects[i]).attr('carId');
       (function(name){
           self[name] = ko.observableArray();
           self[name].subscribe(function(newValue) {
               alert(name);
           });
       })("cars_" + carId + "_selected");
    }