主要问题是我需要链接两个选择。当我在第一个选择一个国家时,第二个必须显示所选国家的州。
我得到了什么,自定义绑定:
ko.bindingHandlers.chosen = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
$(element).chosen();
},
update: function(element, valueAccessor, allBindingsAccessor, viewModel) {
$(element).trigger("liszt:updated");
}
};
var viewModel = {
Comunidades : ko.observableArray([
{"name": "Comunidad Valenciana" ,
"id" : 0, "provincias":
[{"name" : "Alicante", "id": 0},
{"name": "Valencia", "id" : 1},
{"name": "Castellon", "id" : 2}
] } ,
{"name": "Madrid" , "id" : 1 },
{"name": "Murcia" , "id" : 2 }]
),
]),
selectedOne : ko.observableArray(),
ko.applyBindings(viewModel);
有了这个,我在 HTML 选择中显示第一个数组,但我不知道如何在第一个选项中显示“Provincias”。
我会尝试做一个演示。
<link rel="stylesheet" href="http://harvesthq.github.com/chosen/chosen/chosen.css" />
<select data-bind="options: Comunidades , value: selectedOne, chosen : true, optionsText: 'name', optionsValue: 'id' " class="chzn-select" style="width:300px;" ></select>
<select data-bind="options: Comunidades , value: selectedTwo, chosen : true, optionsText: 'name', optionsValue: 'id' " class="chzn-select" style="width:300px;" ></select>
<p data-bind="text: selectedOne"></bind>
<p data-bind="text: selectedTwo"></bind>