KendoUI自动填写提交表单

时间:2014-03-28 00:42:27

标签: javascript jquery forms kendo-ui

我正在使用封装在<form>中的KendoUI自动填充功能。如果在自动填充选项打开时按Enter键,则输入仅关闭选项,您必须再次按Enter键才能提交表单。听取输入上的按键以检查输入是否被按下甚至不起作用;第一个输入从未注册。我尝试点击KendoUI控件的change事件和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();
    });

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

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

什么是search?你最初定义了吗?

当我尝试使用您的代码时,只要单击一下,它就可以正常工作,只要我定义了搜索。 Here我尝试过的事情:

focusout