【问题标题】:Jquery autocomplete table from textbox without button没有按钮的文本框中的Jquery自动完成表
【发布时间】:2012-02-17 17:13:17
【问题描述】:

使用在 asp.net 中找到的 Pluralsight 演示,我创建了自动完成文本框。我想在文本框中输入信息并在文本框下方的表格中查看自动完成建议,而无需按下按钮。

我正在 MVC3 中编写代码并使用 MSSQL 2008 数据库。

我怀疑我需要以某种方式合并这些函数,但我不知道如何

$(document).ready(function () {
$(":input[data-autocomplete]").each(function () {
    $(this).autocomplete({ source: $(this).attr("data-autocomplete") });
});

$("searchForm").each(function() {
    $.getJSON($(this).attr("action"),
        $(this).serialize(),
        function(data) {
            var result = $("#searchTemplate").tmpl(data);
            $("searchResults").empty()
                .append(result);
        }
    );
    return false;
}); })

任何帮助将不胜感激。

【问题讨论】:

    标签: jquery json asp.net-mvc-3 jquery-ui


    【解决方案1】:

    你的问题很不清楚。看不到第一个和第二个脚本之间的任何关系。更不用说第二个似乎是错误的,因为没有 <searchForm> 有效的 DOM 元素,这似乎是您正在循环的内容。

    您似乎正在尝试通过在进行选择时提交包含自动完成文本框的表单来自动执行搜索。为此,您可以使用select 事件:

    $(":input[data-autocomplete]").each(function () {
        $(this).autocomplete({ 
            source: $(this).attr("data-autocomplete"),
            select: function(event, ui) {
                // a selection was made, here you could trigger the submission of the form
                // as if a submit button was pressed
                $(this).closest('form').trigger('submit');
            }
        });
    });
    

    当然,如果您希望此表单执行 AJAX 提交而不是常规回发,您可以使用 Ajax.BeginForm 而不是常规 Html.BeginForm。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 2015-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多