Hallo Jungs Erkennung ich ein seltsames Problem mit KO beobachtbare Array haben und meine UI, wenn ich dieses ein festes Modell meiner beobachtbaren Array übergeben funktioniert! und zeige die Auswahloptionen korrekt an, aber wenn man diese dynamisch macht, zeige einfach nichts an, ich habe bereits eine erste Option gewählt, um dynamisch zu arbeiten und es funktioniert perfekt !, aber die zweite Option funktioniert einfach nicht.UI nicht beobachtbar Array
Hier sind der Code meines Modells für die Optionen
var TipoModel = function(data) {
var self = this;
self.id = ko.observable(data.id);
self.name = ko.observable(data.name);
};
var HabitacionModel = function(Huespedes) {
...
self.loadRoomsType = function() {
ajax("/api/foro/loadrooms", {}, function(data) {
self.tipoHabitacion = ko.observableArray([]);
$.each(data, function(index, habitacion) {
var hab = new TipoModel({
id: habitacion.id,
name: habitacion.nombreHabitacion
});
self.tipoHabitacion.push(hab);
});
}, "GET");
console.log(self.tipoHabitacion());
}
self.loadpartnersType = function() {
ajax("/api/foro/loadpartners", {}, function(data) {
var self = this;
self.tipoHuesped = ko.observableArray([]);
$.each(data, function(index, socio) {
var x = new TipoModel({
id: socio.id,
name: socio.nombre
});
self.tipoHuesped.push(x);
});
console.log(self.tipoHuesped());
}, "GET");
}
die Last Räume, aber die Meldung parters Funktion funktioniert nicht und ist der gleiche Code nur ein paar Änderungen, aber es ist das gleiche.
<select style="width:30%; height:100%; margin-top:4px; background-color:transparent; border-color:#729A2B;" data-bind="options: tipoHuesped,
value: selectedHuesped,
optionsText: 'name',
optionsValue: 'id',
optionsCaption: 'Escoge...'" required></select>
wenn ich so die beobachtbare Array von Anfang definieren funktioniert es
self.tipoHuesped = ko.observableArray([
new TipoModel({
id: "1",
name: "Aeroméxico"
}),
new TipoModel({
id: "2",
name: "Magnicharters"
})
]);
i diese dynamisch weitere Daten bald hinzugefügt werden dazu führen, machen wollen, hoffen, dass u mir Jungs helfen kann. Dank
"self.tipoHabitacion ko.observableArray = ([]);" sollte nicht im Ajax Callback sein - Sie erstellen eine neue Instanz des ObservableArray, aber Markup ist bereits an das vorherige gebunden. – TSV
das gleiche ist mit "self.tipoHuessped = ko.observableArray ([]);" – TSV