javascript - 更改事件未触发 - Kendo ComboBox
问题描述
我有一个 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"
});
解决方案
奇怪的是,它应该按照您的方式工作-我在您的其他尝试中唯一要指出的是,在设置该功能时不要执行该功能。
所以:
$("#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 函数中放置一个控制台日志/调试器/警报,您是否仍然看不到它执行?因为如果您看不到该函数命中,至少,您应该在控制台中看到一个错误,该函数的某些内容不存在或无法在未定义的情况下调用某些内容。
推荐阅读
- javascript - Socket 经常向客户端发送数据
- c - 在 C 中用 uint8_t 表示布尔值
- python - 在具有相同名称python XML的特定元素之间获取数据
- asp.net-core - 如何将具有动态 HTML 的 Razor Pages 中的多个实体添加到可编辑实体?
- c++ - 如何使用 pybind11 在 C++ 中使用 numpy 数组?
- mysql - 为什么 MySQL5.7 似乎忽略了子查询
- python - Python:将列表值列表插入mysql数据库
- c++ - 使用 QProcess 调用 mysql CLI 命令
- php - PHP 究竟是如何记住会话数据的?
- python-3.x - Pybluez库python中的OSError