Knockout链接DropDownList ko.observableArray() - 选择的插件

时间:2013-04-23 09:02:56

标签: knockout.js jquery-chosen

主要问题是我需要链接两个选择。 当我在第一个选择中选择一个国家时,第二个必须显示所选国家/地区的状态。

我得到了什么,自定义绑定:

 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 select中显示第一个数组,但我不知道如何在第一个选项中显示'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>

http://i.imgur.com/shqlFVp.png?1

1 个答案:

答案 0 :(得分:1)

http://jsfiddle.net/benfosterdev/wHtRZ/

])

有一个我受到启发的例子。使用带有Knockout的级联DropDown列表,也帮助了Papa的例子。