Có cách nào để giữ liên kết value
với đối tượng không, nhưng có thuộc tính optionsValue
trên đối tượng không. Kể từ bây giờ nếu tôi chỉ định cả hai, thuộc tính optionsValue
được chọn sẽ điền ràng buộc value
. Id muốn giữ nguyên đối tượng trong quan sát, nhưng chỉ định giá trị nào được đặt trong giá trị danh sách lựa chọn. Bằng cách này, gửi biểu mẫu sẽ gửi optionsValue
tôi đã chọn.knockout.js với tùy chọnGiá trị và giá trị
@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 [];
});
}
Nghe có vẻ khá đơn giản để viết một ràng buộc cho loại hành vi này. Tôi không biết cách xây dựng. Một cách khác là chỉ cần sử dụng hai thuộc tính khác nhau cho giá trị và gửi. Một câu hỏi khác, nếu tài sản không thực sự quan sát thay đổi tại sao nó là một tài sản quan sát được? –
Một số menu thả xuống khác phụ thuộc vào nó để hiển thị/ẩn. –
Tôi thực sự không thể hiểu cấu trúc của bạn, bạn có phiền khi tạo một mẫu rất nhỏ về vấn đề của mình trên jsfiddle và đăng mã ở đây không? –