2013-05-14 2 views
0

Я использую KendoUI для создания каскадных dropdownlists. Проблема заключается в том, что второе и третье выпадающие списки в каскаде содержат только один из трех элементов, которые должны быть в них.Kendo cascasding DropDownlists и доступные выпадающие элементы

HTML-

<div id="goodies"> 
     <input id="uno" data-bind="source: unoTypes, value: uno" /> 
     <input id="dos" data-bind="source: dosTypes, value: dos" /> 
     <input id="tres" data-bind="source: tresTypes, value: tres" /> 
</div> 

И Javascript

data = window.kendo.observable({ 
    uno: null, 
    dos: null, 
    tres: null, 
    baseRomType: null, 
    unoTypes: [ 
       { name: "Bing", id: 1 }, 
       { name: "Bang", id: 2 }, 
       { name: "Bong", id: 3 } 
    ], 
    dosTypes: [ 
       { name: "Ding", id: 1 }, 
       { name: "Dang", id: 2 }, 
       { name: "Dong", id: 3 } 
    ], 
    tresTypes: [ 
       { name: "Ring", id: 1 }, 
       { name: "Rang", id: 2 }, 
       { name: "Rong", id: 3 } 
    ], 


}); 

window.kendo.bind($("#goodies"), data); 

$('#uno').kendoDropDownList({ 
    dataTextField: "name", 
    dataValueField: "id", 
    optionLabel: 'Please Select for Uno' 
}); 

$('#dos').kendoDropDownList({ 

    dataTextField: "name", 
    dataValueField: "id", 
    optionLabel: 'Please Select for Dos', 
    cascadeFrom: "uno" 
}); 

$('#tres').kendoDropDownList({ 
    dataTextField: "name", 
    dataValueField: "id", 
    optionLabel: 'Please Select for Tres', 
    cascadeFrom: "dos" 
}); 

Смотрите JS fiddle

Могу ли я делать что-то неправильно, или это ошибка? Я на KendoUI 2013.Q1 ​​(2013.1.319)

ответ

1

Я знаю, что это старый вопрос, но я просто натолкнулся на него и решил, что я дам ответ, если у других возникнут похожие проблемы.

Из того, что я могу сказать, вам действительно не нужны каскадные выпадающие списки, но вместо этого вы просто хотите включить следующее выпадающее меню после того, как был выбран предыдущий (в отличие от каскадирования, который будет фильтровать элементы в следующем выпадающем меню на основе опции, выбранной в предыдущем раскрывающемся списке)?

Во-первых, обновите свой HTML-код, чтобы добавить включил привязки.

<div id="goodies"> 
    <input id="uno" data-bind="source: unoTypes, value: uno" /> 
    <input id="dos" data-bind="source: dosTypes, enabled: uno, value: dos" /> 
    <input id="tres" data-bind="source: tresTypes, enabled: dos, value: tres" /> 
</div> 

Затем обновить JavaScript, чтобы удалить cascadeFrom настройки:

$('#dos').kendoDropDownList({ 
    dataTextField: "name", 
    dataValueField: "id", 
    optionLabel: 'Please Select for Dos', 
    //cascadeFrom: "uno" 
}); 

$('#tres').kendoDropDownList({ 
    dataTextField: "name", 
    dataValueField: "id", 
    optionLabel: 'Please Select for Tres', 
    //cascadeFrom: "dos" 
}); 

Вы можете увидеть upated jsFiddle here

Смежные вопросы