Tôi đã tìm thấy một ví dụ here để tạo danh sách lựa chọn với các nhóm sử dụng KnockoutJS. Đây hoạt động tốt, nhưng tôi muốn để ràng buộc giá trị của thả xuống để đối tượng javascript của riêng tôi, sau đó truy cập vào một tài sản cụ thể của đối tượng đó:KnockoutJS - Giá trị ràng buộc của lựa chọn với các đối tượng optgroup và javascript
<select data-bind="foreach: groups, value:selectedOption">
<optgroup data-bind="attr: {label: label}, foreach: children">
<option data-bind="text: label"></option>
</optgroup>
</select>
function Group(label, children) {
this.label = ko.observable(label);
this.children = ko.observableArray(children);
}
function Option(label, property) {
this.label = ko.observable(label);
this.someOtherProperty = ko.observable(property);
}
var viewModel = {
groups: ko.observableArray([
new Group("Group 1", [
new Option("Option 1", "A"),
new Option("Option 2", "B"),
new Option("Option 3", "C")
]),
new Group("Group 2", [
new Option("Option 4", "D"),
new Option("Option 5", "E"),
new Option("Option 6", "F")
])
]),
selectedOption: ko.observable(),
specialProperty: ko.computed(function(){
this.selectedOption().someOtherProperty();
})
};
ko.applyBindings(viewModel);
Cảm ơn rất nhiều! – user888734
Cảm ơn sự giúp đỡ của bạn! Đơn giản và hiệu quả. – Mounir
Bạn sẽ thêm "optionsCaption" vào giải pháp này như thế nào? @RP Niemeyer –