有沒有辦法讓value
與對象保持綁定,但是optionsValue
是對象的屬性。截至目前,如果我指定了兩者,則所選的optionsValue
屬性將填充value
綁定。 Id喜歡將對象保持在可觀察對象中,但指定要在選擇列表值中設置的值。這樣一個表單提交將發送我選擇的optionsValue
。knockout.js with optionsValue和value
@Html.DropDownListFor(q => q.DivisionId, new SelectList(Enumerable.Empty<string>()), new { data_bind="options: divisions, optionsText: 'Name', optionsValue: 'Id', value: division, optionsCaption: ' - '" })
function AddCrossPoolGameDialog() {
var self = this;
self.divisions = ko.observableArray([]);
self.division = ko.observable();
self.awayDivisionTeams = ko.computed(function() {
var division = ko.utils.arrayFirst(self.divisions(), function(item) {
return self.division.Name() == item.Name;
});
if (division) {
return division.DivisionTeamPools;
}
return [];
});
}
這聽起來很簡單,爲這種行爲寫一個綁定。我不知道是否有內置的方式。另一種方法是簡單地爲值和提交使用兩個不同的屬性。另一個問題,如果財產沒有真正觀察改變爲什麼它是一個可觀察的財產? –
其他一些下拉菜單依賴於它來顯示/隱藏。 –
我真的無法理解你的結構,你會介意在jsfiddle上創建一個非常簡化的問題示例並在此處發佈代碼? –