jquery - KendoUI 下拉过滤器不适用于 jquery
问题描述
我正在尝试过滤下拉列表并使用 nodatatemplate 从下拉列表中添加项目。问题是当我单击下拉列表时它的显示值并快速关闭,所以我无法单击添加为新项目按钮。请看截图。窗户来了又快关了。HTML
<div class="col-6">
<label class="ez-label-bold">Project Name</label>
<input type="text" id="Job_Splitprojectname" class="ez-select w-100">
</div>
$("#Job_Splitprojectname").kendoDropDownList({
filter: "startswith",
dataSource: projectDS,
dataTextField: "ProjectName",
dataValueField: "ProjectID",
optionLabel: "Select Project",
noDataTemplate: $("#noDataTemplate").html()
});
无数据模板:
<script id="noDataTemplate" type="text/x-kendo-tmpl">
<div>
No Project Found. Do you want add as new Project - '#: instance.filterInput.val() #' ?
</div>
<br />
<button class="k-button" onclick="addNew('#: instance.element[0].id #', '#: instance.filterInput.val() #')">Add as new Project</button>
</script>
What is the reason that dropdown automatically closing while click on dropdown?
在一毫秒内列表即将到来和关闭。问题在这一行filter: "startswith",
。如果我删除此行,则下拉菜单不会自动关闭。谢谢 !
解决方案
我创建了一个小提琴,其中包含您的示例和 Telerik 演示页面中的示例:
小提琴:http: //jsfiddle.net/s1o7wrmt/1/
Telerik 演示:https ://demos.telerik.com/kendo-ui/dropdownlist/serverfiltering
这里也是代码:
<div class="col-6">
<label class="ez-label-bold">Project Name</label>
<input id="Job_Splitprojectname" />
<h4>Products</h4>
<input id="products" style="width: 100%;" />
</div>
$(document).ready(function() {
var projectDS = [
{ ProjectID: 1, ProjectName: "test 1" },
{ ProjectID: 2, ProjectName: "test 2" },
{ ProjectID: 3, ProjectName: "test 3" }
];
$("#Job_Splitprojectname").kendoDropDownList({
filter: "startswith",
optionLabel: "Select Project",
dataTextField: "ProjectName",
dataValueField: "ProjectID",
}).data("kendoDropDownList");
$("#products").kendoDropDownList({
filter: "startswith",
dataTextField: "ProductName",
dataValueField: "ProductID",
dataSource: {
type: "odata",
serverFiltering: true,
transport: {
read: {
url: "https://demos.telerik.com/kendo-ui/service/Northwind.svc/Products",
}
}
}
});
});
起初,我看到了您描述的相同行为,下拉菜单会立即关闭!
我确定原因是 jQuery 版本设置为旧版本,而不是 Kendo 所需的更新版本。检查以确保您使用的是您的 Kendo 版本所需的受支持版本的库:https ://docs.telerik.com/kendo-ui/intro/supporting/jquery-support
推荐阅读
- python - Firebase RealTime db 使用 python ,如何检查用户名是否存在
- python - 如何使用 Beautifulsoup 获取跨度标题
- docker - Helm 无法从本地 repo 中提取图像
- php - 使用 PHP 从 HTML Excel 文件导入数据
- java - 包不存在,从注释处理器生成的 java 文件
- r - 在 emayili::render() 中使用参数 arg
- svelte - onMount 不会被第二次调用
- javascript - 有没有办法让 Visual Studio 代码终端退出请求 favicon.ico
- json - 打印组类型一次并在 shell 中打印所有值
- reactjs - Next.js + Typescript:放置逻辑文件的位置