20
混凝土構件這似乎很容易,但兩小時後我的頭很痛。獲取從observableArray
我有一個categoryIndex(從選擇),我想從一個observableArray誰擁有該ID的類別。
我怎麼做到的?我試着用的indexOf(但林不知道它是如何工作,我看着當然DOC),我試過linq.js但哪裏是很難使用或IM愚蠢的(我不知道如何從一個類別獲得的Id並比較它)。
我observableArray是這樣的:
categories[category { Id=2, Name="Pink", ...}, category { Id=1, Name="Green", ...}]
所以,我只需要一個方式來獲得「粉紅」的範疇,如果我的指數是2
謝謝。
編輯:
viewModel.addNote = function() {
var selectedCategoryIndex = $("#Categories").val();
var selectedCategory = ko.utils.arrayFirst(this.categories(), function(item) {
return item.Id === selectedCategoryIndex;
});
}.bind(viewModel);
謝謝你,你是第一位的。但我得到空。我用代碼編輯。 selectedCategoryIndex是好的,它有正確的ID但是selectedCategory似乎是空的。順便說一句,爲什麼螢火蟲不適用於淘汰賽?它總是說this.categories()是空的,但是如果我將它分配給一個新的變量,螢火蟲可以在新變量中看到數據,但不在observableArray中。 –
我的猜測是item.Id是2和$(「#Categories」)。val()是「2」。您可以對結果執行parseInt,或者使用==代替===。是否有一個原因,你閱讀元素的val()而不是在視圖模型中跟蹤該值? –
Ouch,JS 1,me 0.我是一個試圖學習一些web開發者的桌面開發人員。我對html helpers(ASP.NET MVC)和knockout有不好的經驗,所以這就是爲什麼我不使用knockout來跟蹤我的DropDownList。再次感謝。 –