Событие изменения не запускается - Kendo ComboBox - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть Kendo ComboBox, заполненный списком, и когда пользователь выбирает другую опцию в списке, я хочу, чтобы pageModel.newServiceModel.JobSelectionChange() запустился. Я пробовал 3 разных способа сделать это, но ни один из них не работал. Я попытался просто установить change: pageModel.newServiceModel.JobSelectionChange(), change: (все, что встроено в саму функцию pageModel.newServiceModel.JobSelectionChange()), и то, что у меня сейчас есть. Ни один из них не привел к вызову функции при изменении выбора в раскрывающемся списке. Кроме того, закомментированное изменение: console.log() действительно работает, поэтому оно как-то связано с самой этой функцией. Есть идеи по этому поводу?

pageModel.newServiceModel.JobSelectionChange = function () {
    ...
}

// loading combobox
pageModel.newServiceModel.selectedJobs.subscribe(function (newData) {
    $("#newServiceJobs").data("kendoComboBox").dataSource.data(newData);
});

$("#newServiceJobs").kendoComboBox({
    placeholder: "Select One",
    filter: "contains",
    suggest: true,
    change: function() { pageModel.newServiceModel.JobSelectionChange(); },
    //change: function() { console.log("hello") },
    dataSource: pageModel.newServiceModel.selectedJobs(),
    dataTextField: "name",
    dataValueField: "jobid"
});

1 Ответ

1 голос
/ 03 февраля 2020

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

так:

$("#newServiceJobs").kendoComboBox({
    placeholder: "Select One",
    filter: "contains",
    suggest: true,
    change: pageModel.newServiceModel.JobSelectionChange,
    //change: function() { console.log("hello") },
    dataSource: pageModel.newServiceModel.selectedJobs(),
    dataTextField: "name",
    dataValueField: "jobid"
});

Если вы сделаете это и добавите консольный журнал / отладчик / предупреждение в функцию JobSelectionChange, вы все еще не видите, как она выполняется? Потому что, если вы не видите попадания этой функции, по крайней мере, вы должны увидеть ошибку в консоли, что-то вроде этой функции не существует или не может вызвать что-то для неопределенного.

...