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',

        },

    });

}

Если у вас есть какие-либо вопросы, не стесняйтесь спрашивать. Надеюсь, я мог бы помочь.

Другие вопросы по тегам