Kendo Dropdownlist Cascading: ничего не отображается в дочернем выпадающем списке?
Я пытаюсь вручную управлять выпадающим списком каскадного кендо. Я связываю событие "каскад" с родителем, и когда это срабатывает, захожу на мой сервер, чтобы получить значения дочернего раскрывающегося списка, которые связаны со значением родительского раскрывающегося списка, и пытаюсь обновить дочерний источник данных:
childDropDown.setDataSource(new kendo.data.DataSource({
data: resultArr.fieldValues
}));
Это устанавливает источник данных дочернего элемента, но в раскрывающемся списке дочерних элементов ничего не отображается.
Мои выпадающие списки определены как элементы ввода, где источник данных родителя устанавливается с помощью метода mvvm data-source="[\'option1\',\'option2\',\'option3\']"
во входном элементе (строит их динамически, поэтому создайте их как строки и добавьте их в шаблон).
Я считаю, что проблема заключается в том, что нет cascadeFromField, поскольку мой источник данных состоит только из строк параметров, а не объектов, но я не знаю, как это исправить, когда я динамически создаю HTML, поэтому необходимо установить источник данных в раскрывающемся списке Строка элемента.
Можно ли использовать каскадные выпадающие списки Kendo, где я изменяю дочерние параметры вручную при каждом родительском изменении, как я пытаюсь это сделать?
1 ответ
Вы можете просто прикрепить событие изменения к главному раскрывающемуся списку, поэтому при его изменении он перезагрузит источник данных подчиненного раскрывающегося списка. Вот пример, где SourceID
является основным раскрывающимся списком, и SubSourceID
это выпадающий список:
function OnChangeSourceID() {
var kendoSubSourceID = $('#SubSourceID').data('kendoDropDownList');
var sourceID = $('#SourceID').data('kendoDropDownList').value();
kendoSubSourceID.setDataSource({
serverFiltering: true,
transport: {
read: {
contentType: 'application/json',
type: 'POST',
url: requestURL + '&source=' + sourceID,
},
parameterMap: function(data) {
return kendo.stringify(data);
},
},
schema: {
data: 'data',
total: 'total',
},
});
}
Если у вас есть какие-либо вопросы, не стесняйтесь спрашивать. Надеюсь, я мог бы помочь.