こんにちはみんな観測可能な配列に固定モデルを渡すとKO Observable配列と私のUIに奇妙な問題があります。選択オプションを正しく表示しますが、動的に単純に何も表示しない場合は、最初に動的に選択するオプションを選択していますが、2番目のオプションは機能しません。ここで UIが観測可能な配列を検出しない
はオプション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");
}
部屋が動作し、負荷のための私のモデルのコードですが、parters機能が動作していないと同じコードだけでいくつかの変更が、その同じです。私は最初からこのように観察配列を定義した場合
<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>
は、それは私が、これは動的に、より多くのデータをすぐに追加される原因となるようにしたいuは私に人を助けることを願って
self.tipoHuesped = ko.observableArray([
new TipoModel({
id: "1",
name: "Aeroméxico"
}),
new TipoModel({
id: "2",
name: "Magnicharters"
})
]);
動作します。 ありがとう
"self.tipoHabitacion = ko.observableArray([]);" ajaxコールバックの中に置くべきではありません。observableArrayの新しいインスタンスを作成しますが、マークアップは以前のものにバインドされています。 – TSV
同じことが "self.tipoHuesped = ko.observableArray([]);" – TSV