gpt4 book ai didi

javascript - KendoUI 自动完成提交表单

转载 作者:行者123 更新时间:2023-11-28 01:25:46 27 4
gpt4 key购买 nike

我正在使用包含在 <form> 中的 KendoUI 自动完成功能。如果在自动完成选项打开时按 Enter 键,则 Enter 键只会关闭选项,并且您必须再次按 Enter 键才能提交表单。监听输入上的按键来检查何时按下 Enter 甚至不起作用;第一次输入永远不会被注册。我尝试点击 change KendoUI 控件和 close 的事件事件以便执行javascript来手动提交表单,但我无法得到任何使第一个输入提交表单而没有不良副作用的东西。这是 HTML:

<form action="@Url.Content("~/Metro/UserAction/SearchLibrary")" id="searchform" method="get" name="searchform">
<div>
<input name="keywords" id="products" style="width: 300px; margin-right: 10px; font-family: Verdana; font-size: 12px;" />
</div>
</form>

这是控件:

    var autocomplete = $("#products").kendoAutoComplete({
dataTextField: "SearchTerm",
filter: "contains",
template: '<span>#: data.ContentName #</span>',
minLength: 3,
dataSource: [],
select: onSelect,
change: function (e) {
if (search) {
if ($("#products").is(":focus")) {
$("#searchform").submit();
}
}
else {
search = true;
}
}
}).data("kendoAutoComplete");

$("#products").focusout(function () {
autocomplete.close();
});

我会补充说,焦点是必要的,因为否则自动完成不会关闭...我不知道为什么会出现这种情况,因为演示关闭并且不需要任何额外的逻辑。

如有任何帮助,我们将不胜感激。

最佳答案

什么是搜索?您最初定义了吗?

当我尝试你的代码时,它在没有 focusout 的情况下工作得很好,只需单击一次,...一旦我定义了搜索。 Here我尝试过:

var autocomplete = $("#products").kendoAutoComplete({
dataTextField: "SearchTerm",
filter: "contains",
template: '<span>#: data.ContentName #</span>',
minLength: 1,
dataSource: ds,
change: function (e) {
if ($("#products").is(":focus")) {
$("#searchform").submit();
}
}
}).data("kendoAutoComplete");

关于javascript - KendoUI 自动完成提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22702109/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com