Ben şu modellerini açılır listesinden bağlamak:nakavt bir anahtar değeri nesne
var allCategories = [{
id: 1,
name: 'Red'},
{
id: 5,
name: 'Blue'}];
function model() {
self = this;
self.name = ko.observable("");
self.categoryId = ko.observable(-1);
self.categoryName = ko.computed(function() {
if (self.categoryId() == -1) return "";
return getCategoryNameById(self.categoryId()).name;
});
}
function getCategoryNameById(id) {
return _.find(allCategories, function(cat) {
return cat.id == id;
});
}
Ben kategori seçmek için bir açılır menü sunmak istiyorum ancak nasıl olduğunu bağlamak için hiçbir ipucu var. Belki modellerim ile yanlış bir yaklaşım kullandım ama büyük olasılıkla veriyi sunucudan nasıl alacağım, bu yüzden JS'mi bu konuya sarmayı denedim.
böyle bir şey denedim:<select data-bind="options: categories, optionsText: 'name', value: 'id', optionsCaption: 'Categorie...'"></select>
Ama modeline categoryId
tarafındaki açılır değerini nasıl bağlanacağını alamadım.
Adı özelliği için çalışan bir ciltleme ile birlikte a fiddle.
thx nedeniyle vadede kredi vermek için – kannix